Вход Регистрация
Файл: src/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php
Строк: 290
<?php

namespace IlluminateRouting;

use 
JsonSerializable;
use 
IlluminateSupportStr;
use 
IlluminateHttpResponse;
use 
IlluminateHttpJsonResponse;
use 
IlluminateSupportTraitsMacroable;
use 
IlluminateContractsSupportArrayable;
use 
IlluminateContractsViewFactory as ViewFactory;
use 
SymfonyComponentHttpFoundationStreamedResponse;
use 
SymfonyComponentHttpFoundationBinaryFileResponse;
use 
IlluminateContractsRoutingResponseFactory as FactoryContract;

class 
ResponseFactory implements FactoryContract
{
    use 
Macroable;

    
/**
     * The view factory instance.
     *
     * @var IlluminateContractsViewFactory
     */
    
protected $view;

    
/**
     * The redirector instance.
     *
     * @var IlluminateRoutingRedirector
     */
    
protected $redirector;

    
/**
     * Create a new response factory instance.
     *
     * @param  IlluminateContractsViewFactory  $view
     * @param  IlluminateRoutingRedirector  $redirector
     * @return void
     */
    
public function __construct(ViewFactory $view, Redirector $redirector)
    {
        
$this->view = $view;
        
$this->redirector = $redirector;
    }

    
/**
     * Return a new response from the application.
     *
     * @param  string  $content
     * @param  int  $status
     * @param  array  $headers
     * @return IlluminateHttpResponse
     */
    
public function make($content = '', $status = 200, array $headers = [])
    {
        return new 
Response($content, $status, $headers);
    }

    
/**
     * Return a new view response from the application.
     *
     * @param  string  $view
     * @param  array  $data
     * @param  int  $status
     * @param  array  $headers
     * @return IlluminateHttpResponse
     */
    
public function view($view, $data = [], $status = 200, array $headers = [])
    {
        return static::
make($this->view->make($view, $data), $status, $headers);
    }

    
/**
     * Return a new JSON response from the application.
     *
     * @param  string|array  $data
     * @param  int  $status
     * @param  array  $headers
     * @param  int  $options
     * @return IlluminateHttpJsonResponse
     */
    
public function json($data = [], $status = 200, array $headers = [], $options = 0)
    {
        if (
$data instanceof Arrayable && ! $data instanceof JsonSerializable) {
            
$data = $data->toArray();
        }

        return new 
JsonResponse($data, $status, $headers, $options);
    }

    
/**
     * Return a new JSONP response from the application.
     *
     * @param  string  $callback
     * @param  string|array  $data
     * @param  int  $status
     * @param  array  $headers
     * @param  int  $options
     * @return IlluminateHttpJsonResponse
     */
    
public function jsonp($callback, $data = [], $status = 200, array $headers = [], $options = 0)
    {
        return 
$this->json($data, $status, $headers, $options)->setCallback($callback);
    }

    
/**
     * Return a new streamed response from the application.
     *
     * @param  Closure  $callback
     * @param  int  $status
     * @param  array  $headers
     * @return SymfonyComponentHttpFoundationStreamedResponse
     */
    
public function stream($callback, $status = 200, array $headers = [])
    {
        return new 
StreamedResponse($callback, $status, $headers);
    }

    
/**
     * Create a new file download response.
     *
     * @param  SplFileInfo|string  $file
     * @param  string  $name
     * @param  array  $headers
     * @param  string|null  $disposition
     * @return SymfonyComponentHttpFoundationBinaryFileResponse
     */
    
public function download($file, $name = null, array $headers = [], $disposition = 'attachment')
    {
        
$response = new BinaryFileResponse($file, 200, $headers, true, $disposition);

        if (! 
is_null($name)) {
            return 
$response->setContentDisposition($disposition, $name, str_replace('%', '', Str::ascii($name)));
        }

        return 
$response;
    }

    
/**
     * Return the raw contents of a binary file.
     *
     * @param  SplFileInfo|string $file
     * @param  array $headers
     * @return  SymfonyComponentHttpFoundationBinaryFileResponse
     */
    
public function file($file, array $headers = [])
    {
        return new 
BinaryFileResponse($file, 200, $headers);
    }

    
/**
     * Create a new redirect response to the given path.
     *
     * @param  string  $path
     * @param  int  $status
     * @param  array  $headers
     * @param  bool|null  $secure
     * @return IlluminateHttpRedirectResponse
     */
    
public function redirectTo($path, $status = 302, $headers = [], $secure = null)
    {
        return 
$this->redirector->to($path, $status, $headers, $secure);
    }

    
/**
     * Create a new redirect response to a named route.
     *
     * @param  string  $route
     * @param  array  $parameters
     * @param  int  $status
     * @param  array  $headers
     * @return IlluminateHttpRedirectResponse
     */
    
public function redirectToRoute($route, $parameters = [], $status = 302, $headers = [])
    {
        return 
$this->redirector->route($route, $parameters, $status, $headers);
    }

    
/**
     * Create a new redirect response to a controller action.
     *
     * @param  string  $action
     * @param  array  $parameters
     * @param  int  $status
     * @param  array  $headers
     * @return IlluminateHttpRedirectResponse
     */
    
public function redirectToAction($action, $parameters = [], $status = 302, $headers = [])
    {
        return 
$this->redirector->action($action, $parameters, $status, $headers);
    }

    
/**
     * Create a new redirect response, while putting the current URL in the session.
     *
     * @param  string  $path
     * @param  int  $status
     * @param  array  $headers
     * @param  bool|null  $secure
     * @return IlluminateHttpRedirectResponse
     */
    
public function redirectGuest($path, $status = 302, $headers = [], $secure = null)
    {
        return 
$this->redirector->guest($path, $status, $headers, $secure);
    }

    
/**
     * Create a new redirect response to the previously intended location.
     *
     * @param  string  $default
     * @param  int  $status
     * @param  array  $headers
     * @param  bool|null  $secure
     * @return IlluminateHttpRedirectResponse
     */
    
public function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null)
    {
        return 
$this->redirector->intended($default, $status, $headers, $secure);
    }
}
Онлайн: 1
Реклама