/home
/scrapeland
/www
/app
/ContentProviders
/Traits
/FileStreamer.php
fflush($fp);
//dd($request_headers);
// response header
$response_header = "";
do {
$f = fgets($fp, 16384);
if (!$f)
break;
$response_header .= $f;
} while (strpos($response_header, "\r\n\r\n") === false);
$response_code_line = explode("\r\n", $response_header)[0];
if(!preg_match('/HTTP\/[0-9]+?\.[0-9]+? 200/i', $response_header))
throw new Exception("Response NOT 200 (".$response_code_line.")!\nURL: ".$request_opts['url']."\nHeader: ".$response_header);
if ($stream_opts['return_only_header'])
return $response_header;
//
// get some data from headers
//
// get encoding
preg_match("/Transfer-Encoding: (?<encoding>.*?)\r\n/i", $response_header, $matches);
$response_encoding = null;
if(isset($matches['encoding']))
$response_encoding = $matches['encoding'];
// get file size
preg_match("/Content\-length\: (?<file_size>[0-9]+?)\r\n/i", $response_header, $matches);
$response_file_size = 0;
if ($stream_opts['check_content_length'] == true) {
if (!isset($matches['file_size']))
Arguments
"""
Response NOT 200 (HTTP/1.1 404 Not Found)!\n
URL: https://www.gtainside.com/downloads/picr/2020-08/gallery29.jpg\n
Header: HTTP/1.1 404 Not Found\r\n
Date: Sat, 29 Aug 2020 09:01:37 GMT\r\n
Server: Apache/2.4.25 (Debian)\r\n
Content-Length: 280\r\n
Connection: close\r\n
Content-Type: text/html; charset=iso-8859-1\r\n
\r\n
"""
/home
/scrapeland
/www
/app
/ContentProviders
/GtaInside.php
$url = str_replace('http://', 'https://', $url);
$request_opts = [
'url' => $url,
'headers' => [
'User-Agent' => $this->user_agent,
'Referer' => self::URL,
]
];
// merge options in a way that default values can be overridden by client
$options = array_merge([
'check_content_disposition' => false
], $options);
$stream_opts = $options;
return $this->stream(
$request_opts,
$stream_opts
);
}
public function streamFile($url, $options = [])
{
//$url = str_replace('http://', 'https://', $url);
$request_opts = [
'url' => $url,
'headers' => [
'User-Agent' => $this->user_agent,
'Referer' => self::URL,
]
];
// merge options in a way that default values can be overridden by client
$options = array_merge([
'check_content_disposition' => false
], $options);
Arguments
array:5 [
"method" => "GET"
"http_version" => "1.1"
"url" => "https://www.gtainside.com/downloads/picr/2020-08/gallery29.jpg"
"headers" => array:5 [
"Accept" => "*/*"
"Cache-Control" => "no-cache"
"Pragma" => "no-cache"
"User-Agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
"Referer" => "https://www.gtainside.com"
]
"data" => ""
]
array:10 [
"return_only_header" => false
"check_content_disposition" => false
"check_content_length" => true
"size_limit" => 1610612736
"allow_filetypes" => null
"forbid_filetypes" => array:1 [
0 => "php"
]
"stream_to_file" => true
"stream_to_client" => true
"autodetect_filename" => true
"stream_to_file_path" => "/home/scrapeland/www/public/uploads/gtainside/images"
]
/home
/scrapeland
/www
/app
/ContentProviders
/GtaInside.php
'downloads_count' => $downloads_count,
'images' => $images,
'videos' => $videos,
'download_links' => $download_links,
'description' => $description,
];
}
/*
* FileProviderInterface methods
*/
public function streamUrl(string $url, string $content_type, array $options = []): string
{
switch($content_type)
{
case 'image':
return $this->streamImage($url, $options);
break;
case 'file':
return $this->streamFile($url, $options);
break;
default:
throw new Exception("Content type not supported for streaming");
}
}
/**
* Stream image from provider to file or to client
* Default behavior is to stream to client.
* Options are passed directly to self::stream() method
*
* @param string $url
* @param array $options
*
Arguments
"https://www.gtainside.com/downloads/picr/2020-08/gallery29.jpg"
array:3 [
"check_content_disposition" => false
"stream_to_file" => true
"stream_to_file_path" => "/home/scrapeland/www/public/uploads/gtainside/images"
]
/home
/scrapeland
/www
/app
/Http
/Controllers
/StreamController.php
$stream_options = [];
// firstly check if requested file already exists, and serve it if it does
if($urlExists == true && $cachedUrlExists == true) {
return response()->download($urlModels[0]->url_cached_path());
}
// if cached file is set to false in db, enable streaming to file
if($urlExists == true && $cachedUrlExists == false)
{
$stream_options['stream_to_file'] = true;
$stream_options['stream_to_file_path'] = $contentProvider->getStoragePath($content_type);
}
// returns saved file path on success
$streamResult = $contentProvider->streamUrl(
$url,
$content_type,
$stream_options
);
// if stream to file is successful, update database records with 'url_cached' field
if($urlExists == true && $cachedUrlExists == false && !empty($streamResult))
{
$savedFilePath = str_replace(public_path(), "", $streamResult);
$urlsQuery->update(
['url_cached' => $savedFilePath]
);
}
//return "";
}
}
Arguments
"https://www.gtainside.com/downloads/picr/2020-08/gallery29.jpg"
"image"
array:2 [
"stream_to_file" => true
"stream_to_file_path" => "/home/scrapeland/www/public/uploads/gtainside/images"
]
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
array:2 [
0 => StreamController {#393}
1 => "stream"
]
array:1 [
0 => Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
]
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/ControllerDispatcher.php
{
$this->container = $container;
}
/**
* Dispatch a request to a given controller and method.
*
* @param \Illuminate\Routing\Route $route
* @param mixed $controller
* @param string $method
* @return mixed
*/
public function dispatch(Route $route, $controller, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
if (method_exists($controller, 'callAction')) {
return $controller->callAction($method, $parameters);
}
return $controller->{$method}(...array_values($parameters));
}
/**
* Get the middleware for the controller instance.
*
* @param \Illuminate\Routing\Controller $controller
* @param string $method
* @return array
*/
public function getMiddleware($controller, $method)
{
if (! method_exists($controller, 'getMiddleware')) {
return [];
}
return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
return static::methodExcludedByOptions($method, $data['options']);
Arguments
"stream"
array:1 [
0 => Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
]
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
protected function runCallable()
{
$callable = $this->action['uses'];
return $callable(...array_values($this->resolveMethodDependencies(
$this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
)));
}
/**
* Run the route action and return the response.
*
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
*/
protected function runController()
{
return $this->controllerDispatcher()->dispatch(
$this, $this->getController(), $this->getControllerMethod()
);
}
/**
* Get the controller instance for the route.
*
* @return mixed
*/
public function getController()
{
if (! $this->controller) {
$class = $this->parseControllerCallback()[0];
$this->controller = $this->container->make(ltrim($class, '\\'));
}
return $this->controller;
}
/**
Arguments
Route {#254}
StreamController {#393}
"stream"
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
*
* @throws \UnexpectedValueException
*/
protected function parseAction($action)
{
return RouteAction::parse($this->uri, $action);
}
/**
* Run the route action and return the response.
*
* @return mixed
*/
public function run()
{
$this->container = $this->container ?: new Container;
try {
if ($this->isControllerAction()) {
return $this->runController();
}
return $this->runCallable();
} catch (HttpResponseException $e) {
return $e->getResponse();
}
}
/**
* Checks whether the route's action is a controller.
*
* @return bool
*/
protected function isControllerAction()
{
return is_string($this->action['uses']);
}
/**
* Run the route action and return the response.
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Middleware
/SubstituteBindings.php
*/
public function __construct(Registrar $router)
{
$this->router = $router;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->router->substituteBindings($route = $request->route());
$this->router->substituteImplicitBindings($route);
return $next($request);
}
}
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#407
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#404 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#405 …}
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Auth
/Middleware
/Authenticate.php
public function __construct(Auth $auth)
{
$this->auth = $auth;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string[] ...$guards
* @return mixed
*
* @throws \Illuminate\Auth\AuthenticationException
*/
public function handle($request, Closure $next, ...$guards)
{
$this->authenticate($guards);
return $next($request);
}
/**
* Determine if the user is logged in to any of the given guards.
*
* @param array $guards
* @return void
*
* @throws \Illuminate\Auth\AuthenticationException
*/
protected function authenticate(array $guards)
{
if (empty($guards)) {
return $this->auth->authenticate();
}
foreach ($guards as $guard) {
if ($this->auth->guard($guard)->check()) {
return $this->auth->shouldUse($guard);
}
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#408
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#404 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#407 …}
$pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
}
}
"api"
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
* Sort the given middleware by priority.
*
Arguments
Closure {#405
class: "Illuminate\Routing\Router"
this: Router {#34 …}
parameters: {
$request: {}
}
use: {
$route: Route {#254 …}
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param Route $route
* @param Request $request
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#254}
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#254}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* @return mixed
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Response $response
* @return void
*/
public function terminate($request, $response)
{
$this->terminateMiddleware($request, $response);
$this->app->terminate();
}
/**
* Call the terminate method on any terminable middleware.
*
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/fideloper
/proxy
/src
/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->setTrustedProxyHeaderNames($request);
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses($request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// We only trust specific IP addresses
if (is_array($trustedIps)) {
return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
}
// We trust any IP address that calls us, but not proxies further
// up the forwarding chain.
// TODO: Determine if this should only trust the first IP address
// Currently it trusts the entire chain (array of IPs),
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#310
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#307 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#308 …}
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#311
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#307 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#310 …}
$pipe: "ScrapeLand\Http\Middleware\TrustProxies"
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#312
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#307 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#311 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/ValidatePostSize.php
class ValidatePostSize
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Http\Exceptions\PostTooLargeException
*/
public function handle($request, Closure $next)
{
$max = $this->getPostMaxSize();
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException;
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
}
$metric = strtoupper(substr($postMaxSize, -1));
$postMaxSize = (int) $postMaxSize;
switch ($metric) {
case 'K':
return $postMaxSize * 1024;
case 'M':
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#313
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#307 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#312 …}
$pipe: "ScrapeLand\Http\Middleware\TrimStrings"
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/CheckForMaintenanceMode.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next)
{
if ($this->app->isDownForMaintenance()) {
$data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
}
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#314
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#307 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#313 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
Arguments
Closure {#308
class: "Illuminate\Foundation\Http\Kernel"
this: Kernel {#38 …}
parameters: {
$request: {}
}
}
/home
/scrapeland
/www
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/scrapeland
/www
/public
/index.php
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Arguments
Request {#55
#json: null
#convertedFiles: null
#userResolver: Closure {#357
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#132 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#5 …}
}
}
#routeResolver: Closure {#389
class: "Illuminate\Routing\Router"
this: Router {#34 …}
use: {
$route: Route {#254 …}
}
}
+attributes: ParameterBag {#65}
+request: ParameterBag {#63}
+query: ParameterBag {#63}
+server: ServerBag {#67}
+files: FileBag {#60}
+cookies: ParameterBag {#66}
+headers: HeaderBag {#68}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/api/v1/stream/image"
#requestUri: "/api/v1/stream/image?url=https%3A%2F%2Fwww.gtainside.com%2Fdownloads%2Fpicr%2F2020-08%2Fgallery29.jpg&api_key=1Lby9ncrwGTNhawHW5wmWOGrBfjIsLCSnTOPlBxovSNyTqwFjPI8iq0rlFtZO349"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: null
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}