ResponseFactory.php
TLDR
The ResponseFactory
interface provides methods for creating different types of responses in Laravel, such as HTML, JSON, JSONP, streamed responses, file downloads, and redirects. These methods can be used to generate various HTTP responses based on the given parameters.
Methods
make
Creates a new response instance with the given content, status code, and headers.
noContent
Creates a new "no content" response with the given status code and headers.
view
Creates a new response for a given view with the given data, status code, and headers.
json
Creates a new JSON response instance with the given data, status code, headers, and options.
jsonp
Creates a new JSONP response instance with the given callback, data, status code, headers, and options.
stream
Creates a new streamed response instance with the given callback, status code, and headers.
streamDownload
Creates a new streamed response instance as a file download with the given callback, file name, headers, and disposition.
download
Creates a new file download response with the given file, file name, headers, and disposition.
file
Returns the raw contents of a binary file with the given file and headers.
redirectTo
Creates a new redirect response to the given path with the given status code, headers, and secure flag.
redirectToRoute
Creates a new redirect response to a named route with the given route name, parameters, status code, and headers.
redirectToAction
Creates a new redirect response to a controller action with the given action, parameters, status code, and headers.
redirectGuest
Creates a new redirect response, while putting the current URL in the session, to the given path with the given status code, headers, and secure flag.
redirectToIntended
Creates a new redirect response to the previously intended location with the given default path, status code, headers, and secure flag.
<?php
namespace Illuminate\Contracts\Routing;
interface ResponseFactory
{
/**
* Create a new response instance.
*
* @param array|string $content
* @param int $status
* @param array $headers
* @return \Illuminate\Http\Response
*/
public function make($content = '', $status = 200, array $headers = []);
/**
* Create a new "no content" response.
*
* @param int $status
* @param array $headers
* @return \Illuminate\Http\Response
*/
public function noContent($status = 204, array $headers = []);
/**
* Create a new response for a given view.
*
* @param string|array $view
* @param array $data
* @param int $status
* @param array $headers
* @return \Illuminate\Http\Response
*/
public function view($view, $data = [], $status = 200, array $headers = []);
/**
* Create a new JSON response instance.
*
* @param mixed $data
* @param int $status
* @param array $headers
* @param int $options
* @return \Illuminate\Http\JsonResponse
*/
public function json($data = [], $status = 200, array $headers = [], $options = 0);
/**
* Create a new JSONP response instance.
*
* @param string $callback
* @param mixed $data
* @param int $status
* @param array $headers
* @param int $options
* @return \Illuminate\Http\JsonResponse
*/
public function jsonp($callback, $data = [], $status = 200, array $headers = [], $options = 0);
/**
* Create a new streamed response instance.
*
* @param callable $callback
* @param int $status
* @param array $headers
* @return \Symfony\Component\HttpFoundation\StreamedResponse
*/
public function stream($callback, $status = 200, array $headers = []);
/**
* Create a new streamed response instance as a file download.
*
* @param callable $callback
* @param string|null $name
* @param array $headers
* @param string|null $disposition
* @return \Symfony\Component\HttpFoundation\StreamedResponse
*/
public function streamDownload($callback, $name = null, array $headers = [], $disposition = 'attachment');
/**
* Create a new file download response.
*
* @param \SplFileInfo|string $file
* @param string|null $name
* @param array $headers
* @param string|null $disposition
* @return \Symfony\Component\HttpFoundation\BinaryFileResponse
*/
public function download($file, $name = null, array $headers = [], $disposition = 'attachment');
/**
* Return the raw contents of a binary file.
*
* @param \SplFileInfo|string $file
* @param array $headers
* @return \Symfony\Component\HttpFoundation\BinaryFileResponse
*/
public function file($file, array $headers = []);
/**
* Create a new redirect response to the given path.
*
* @param string $path
* @param int $status
* @param array $headers
* @param bool|null $secure
* @return \Illuminate\Http\RedirectResponse
*/
public function redirectTo($path, $status = 302, $headers = [], $secure = null);
/**
* Create a new redirect response to a named route.
*
* @param string $route
* @param mixed $parameters
* @param int $status
* @param array $headers
* @return \Illuminate\Http\RedirectResponse
*/
public function redirectToRoute($route, $parameters = [], $status = 302, $headers = []);
/**
* Create a new redirect response to a controller action.
*
* @param array|string $action
* @param mixed $parameters
* @param int $status
* @param array $headers
* @return \Illuminate\Http\RedirectResponse
*/
public function redirectToAction($action, $parameters = [], $status = 302, $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 \Illuminate\Http\RedirectResponse
*/
public function redirectGuest($path, $status = 302, $headers = [], $secure = null);
/**
* Create a new redirect response to the previously intended location.
*
* @param string $default
* @param int $status
* @param array $headers
* @param bool|null $secure
* @return \Illuminate\Http\RedirectResponse
*/
public function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null);
}