/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
/** @var \Exception $exception */
$exception = $this->tryDeserialize500Error($response);
$exceptionText = "[$statusCode Server Exception] ".$exception->getMessage();
$this->log->error($exceptionText);
$this->log->error($exception->getTraceAsString());
if (array_search($statusCode, $ignore) !== false) {
return;
}
if ($statusCode === 500 && strpos($responseBody, "RoutingMissingException") !== false) {
$exception = new RoutingMissingException($exception->getMessage(), $statusCode, $exception);
} elseif ($statusCode === 500 && preg_match('/ActionRequestValidationException.+ no documents to get/', $responseBody) === 1) {
$exception = new NoDocumentsToGetException($exception->getMessage(), $statusCode, $exception);
} elseif ($statusCode === 500 && strpos($responseBody, 'NoShardAvailableActionException') !== false) {
$exception = new NoShardAvailableException($exception->getMessage(), $statusCode, $exception);
} else {
$exception = new ServerErrorResponseException($responseBody, $statusCode);
}
$this->logRequestFail(
$request['http_method'],
$response['effective_url'],
$request['body'],
$request['headers'],
$response['status'],
$response['body'],
$response['transfer_stats']['total_time'],
$exception
);
throw $exception;
}
private function tryDeserialize400Error($response)
{
return $this->tryDeserializeError($response, 'Elasticsearch\Common\Exceptions\BadRequest400Exception');
}
Arguments
"{"error":{"root_cause":[{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"publications","node":"YCLdyR2pTwewb88SFH0bJg","reason":{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}}]},"status":500}"
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
$response['body'],
$response['transfer_stats']['total_time'],
$exception
);
throw $exception;
}
} else {
$connection->markAlive();
if (isset($response['body']) === true) {
$response['body'] = stream_get_contents($response['body']);
$this->lastRequest['response']['body'] = $response['body'];
}
if ($response['status'] >= 400 && $response['status'] < 500) {
$ignore = isset($request['client']['ignore']) ? $request['client']['ignore'] : [];
$this->process4xxError($request, $response, $ignore);
} elseif ($response['status'] >= 500) {
$ignore = isset($request['client']['ignore']) ? $request['client']['ignore'] : [];
$this->process5xxError($request, $response, $ignore);
}
// No error, deserialize
$response['body'] = $this->serializer->deserialize($response['body'], $response['transfer_stats']);
}
$this->logRequestSuccess(
$request['http_method'],
$response['effective_url'],
$request['body'],
$request['headers'],
$response['status'],
$response['body'],
$response['transfer_stats']['total_time']
);
return isset($request['client']['verbose']) && $request['client']['verbose'] === true ? $response : $response['body'];
});
return $response;
};
Arguments
array:5 [
"http_method" => "GET"
"scheme" => "http"
"uri" => "/publications/_doc/_search?scroll=30s"
"body" => "{"query":{"bool":{"should":{"match_all":{}},"minimum_should_match":1,"filter":[{"term":{"status":"published"}},{"term":{"subject.raw":"Purdue University"}},{"term":{"subject.raw":"Civil Engineering"}},{"term":{"creator.raw":"David Burford"}},{"term":{"creator.raw":"Andrew Sydelko"}}]}},"highlight":{"number_of_fragments":3,"fragment_size":150,"fields":{"description":{},"title":{},"subject.raw":{},"subject":{},"id":{},"creator.raw":{},"creator":{},"date":{}}},"aggs":{"subject_buckets":{"composite":{"sources":{"subject":{"terms":{"field":"subject.raw"}}},"size":2000}},"creator":{"terms":{"field":"creator.raw"}},"date":{"date_histogram":{"field":"date","interval":"year","format":"yyyy","keyed":true,"order":{"_key":"desc"}}},"type":{"terms":{"field":"type"}}}}"
"headers" => array:3 [
"Host" => array:1 [
0 => "lib-es.lib.purdue.edu:9200"
]
"Content-Type" => array:1 [
0 => "application/json"
]
"Accept" => array:1 [
0 => "application/json"
]
]
]
array:8 [
"transfer_stats" => array:28 [
"url" => "http://lib-es.lib.purdue.edu:9200/publications/_doc/_search?scroll=30s"
"content_type" => "application/json; charset=UTF-8"
"http_code" => 500
"header_size" => 366
"request_size" => 932
"filetime" => -1
"ssl_verify_result" => 0
"redirect_count" => 0
"total_time" => 0.003222
"namelookup_time" => 3.4E-5
"connect_time" => 0.000338
"pretransfer_time" => 0.000376
"size_upload" => 765.0
"size_download" => 621.0
"speed_download" => 207000.0
"speed_upload" => 255000.0
"download_content_length" => 621.0
"upload_content_length" => 765.0
"starttransfer_time" => 0.00319
"redirect_time" => 0.0
"redirect_url" => ""
"primary_ip" => "128.210.126.180"
"certinfo" => []
"primary_port" => 9200
"local_ip" => "128.210.126.113"
"local_port" => 49604
"error" => ""
"errno" => 0
]
"curl" => array:2 [
"error" => ""
"errno" => 0
]
"effective_url" => "http://lib-es.lib.purdue.edu:9200/publications/_doc/_search?scroll=30s"
"headers" => array:3 [
"Warning" => array:2 [
0 => "299 Elasticsearch-7.3.1-4749ba6 "[interval] on [date_histogram] is deprecated, use [fixed_interval] or [calendar_interval] in the future.""
1 => "299 Elasticsearch-7.3.1-4749ba6 "[types removal] Specifying types in search requests is deprecated.""
]
"content-type" => array:1 [
0 => "application/json; charset=UTF-8"
]
"content-length" => array:1 [
0 => "621"
]
]
"version" => "1.1"
"status" => 500
"reason" => "Internal Server Error"
"body" => "{"error":{"root_cause":[{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"publications","node":"YCLdyR2pTwewb88SFH0bJg","reason":{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}}]},"status":500}"
]
[]
/var/www/html/purr/vendor/react/promise/src/FulfilledPromise.php
{
private $value;
public function __construct($value = null)
{
if ($value instanceof PromiseInterface) {
throw new \InvalidArgumentException('You cannot create React\Promise\FulfilledPromise with a promise. Use React\Promise\resolve($promiseOrValue) instead.');
}
$this->value = $value;
}
public function then(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
{
if (null === $onFulfilled) {
return $this;
}
try {
return resolve($onFulfilled($this->value));
} catch (\Throwable $exception) {
return new RejectedPromise($exception);
} catch (\Exception $exception) {
return new RejectedPromise($exception);
}
}
public function done(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
{
if (null === $onFulfilled) {
return;
}
$result = $onFulfilled($this->value);
if ($result instanceof ExtendedPromiseInterface) {
$result->done();
}
}
Arguments
array:8 [
"transfer_stats" => array:28 [
"url" => "http://lib-es.lib.purdue.edu:9200/publications/_doc/_search?scroll=30s"
"content_type" => "application/json; charset=UTF-8"
"http_code" => 500
"header_size" => 366
"request_size" => 932
"filetime" => -1
"ssl_verify_result" => 0
"redirect_count" => 0
"total_time" => 0.003222
"namelookup_time" => 3.4E-5
"connect_time" => 0.000338
"pretransfer_time" => 0.000376
"size_upload" => 765.0
"size_download" => 621.0
"speed_download" => 207000.0
"speed_upload" => 255000.0
"download_content_length" => 621.0
"upload_content_length" => 765.0
"starttransfer_time" => 0.00319
"redirect_time" => 0.0
"redirect_url" => ""
"primary_ip" => "128.210.126.180"
"certinfo" => []
"primary_port" => 9200
"local_ip" => "128.210.126.113"
"local_port" => 49604
"error" => ""
"errno" => 0
]
"curl" => array:2 [
"error" => ""
"errno" => 0
]
"effective_url" => "http://lib-es.lib.purdue.edu:9200/publications/_doc/_search?scroll=30s"
"headers" => array:3 [
"Warning" => array:2 [
0 => "299 Elasticsearch-7.3.1-4749ba6 "[interval] on [date_histogram] is deprecated, use [fixed_interval] or [calendar_interval] in the future.""
1 => "299 Elasticsearch-7.3.1-4749ba6 "[types removal] Specifying types in search requests is deprecated.""
]
"content-type" => array:1 [
0 => "application/json; charset=UTF-8"
]
"content-length" => array:1 [
0 => "621"
]
]
"version" => "1.1"
"status" => 500
"reason" => "Internal Server Error"
"body" => "{"error":{"root_cause":[{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"publications","node":"YCLdyR2pTwewb88SFH0bJg","reason":{"type":"exception","reason":"Trying to create too many scroll contexts. Must be less than or equal to: [500]. This limit can be set by changing the [search.max_open_scroll_context] setting."}}]},"status":500}"
]
/var/www/html/purr/vendor/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php
public function cancel() {}
public function promise()
{
if (!$this->cachedPromise) {
$this->cachedPromise = $this->error
? new RejectedPromise($this->error)
: new FulfilledPromise($this->result);
}
return $this->cachedPromise;
}
public function then(
callable $onFulfilled = null,
callable $onRejected = null,
callable $onProgress = null
) {
return $this->promise()->then($onFulfilled, $onRejected, $onProgress);
}
}
Arguments
Closure($response) {#289 …5}
null
null
/var/www/html/purr/vendor/guzzlehttp/ringphp/src/Core.php
/**
* Returns a proxied future that modifies the dereferenced value of another
* future using a promise.
*
* @param FutureArrayInterface $future Future to wrap with a new future
* @param callable $onFulfilled Invoked when the future fulfilled
* @param callable $onRejected Invoked when the future rejected
* @param callable $onProgress Invoked when the future progresses
*
* @return FutureArray
*/
public static function proxy(
FutureArrayInterface $future,
callable $onFulfilled = null,
callable $onRejected = null,
callable $onProgress = null
) {
return new FutureArray(
$future->then($onFulfilled, $onRejected, $onProgress),
[$future, 'wait'],
[$future, 'cancel']
);
}
/**
* Returns a debug stream based on the provided variable.
*
* @param mixed $value Optional value
*
* @return resource
*/
public static function getDebugResource($value = null)
{
if (is_resource($value)) {
return $value;
} elseif (defined('STDOUT')) {
return STDOUT;
} else {
return fopen('php://output', 'w');
Arguments
Closure($response) {#289 …5}
null
null
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
} elseif ($response['status'] >= 500) {
$ignore = isset($request['client']['ignore']) ? $request['client']['ignore'] : [];
$this->process5xxError($request, $response, $ignore);
}
// No error, deserialize
$response['body'] = $this->serializer->deserialize($response['body'], $response['transfer_stats']);
}
$this->logRequestSuccess(
$request['http_method'],
$response['effective_url'],
$request['body'],
$request['headers'],
$response['status'],
$response['body'],
$response['transfer_stats']['total_time']
);
return isset($request['client']['verbose']) && $request['client']['verbose'] === true ? $response : $response['body'];
});
return $response;
};
}
/**
* @param string $uri
* @param array $params
*
* @return string
*/
private function getURI($uri, $params)
{
if (isset($params) === true && !empty($params)) {
array_walk($params, function (&$value, &$key) {
if ($value === true) {
$value = 'true';
} elseif ($value === false) {
$value = 'false';
}
Arguments
CompletedFutureArray {#288}
Closure($response) {#289 …5}
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php
$request = [
'http_method' => $method,
'scheme' => $this->transportSchema,
'uri' => $this->getURI($uri, $params),
'body' => $body,
'headers' => array_merge([
'Host' => [$this->host]
], $this->headers)
];
$request = array_replace_recursive($request, $this->connectionParams, $options);
// RingPHP does not like if client is empty
if (empty($request['client'])) {
unset($request['client']);
}
$handler = $this->handler;
$future = $handler($request, $this, $transport, $options);
return $future;
}
/** @return string */
public function getTransportSchema()
{
return $this->transportSchema;
}
/** @return array */
public function getLastRequestInfo()
{
return $this->lastRequest;
}
private function wrapHandler(callable $handler)
{
return function (array $request, Connection $connection, Transport $transport = null, $options) use ($handler) {
Arguments
array:5 [
"http_method" => "GET"
"scheme" => "http"
"uri" => "/publications/_doc/_search?scroll=30s"
"body" => "{"query":{"bool":{"should":{"match_all":{}},"minimum_should_match":1,"filter":[{"term":{"status":"published"}},{"term":{"subject.raw":"Purdue University"}},{"term":{"subject.raw":"Civil Engineering"}},{"term":{"creator.raw":"David Burford"}},{"term":{"creator.raw":"Andrew Sydelko"}}]}},"highlight":{"number_of_fragments":3,"fragment_size":150,"fields":{"description":{},"title":{},"subject.raw":{},"subject":{},"id":{},"creator.raw":{},"creator":{},"date":{}}},"aggs":{"subject_buckets":{"composite":{"sources":{"subject":{"terms":{"field":"subject.raw"}}},"size":2000}},"creator":{"terms":{"field":"creator.raw"}},"date":{"date_histogram":{"field":"date","interval":"year","format":"yyyy","keyed":true,"order":{"_key":"desc"}}},"type":{"terms":{"field":"type"}}}}"
"headers" => array:3 [
"Host" => array:1 [
0 => "lib-es.lib.purdue.edu:9200"
]
"Content-Type" => array:1 [
0 => "application/json"
]
"Accept" => array:1 [
0 => "application/json"
]
]
]
Connection {#235}
Transport {#238}
[]
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php
public function performRequest($method, $uri, $params = null, $body = null, $options = [])
{
try {
$connection = $this->getConnection();
} catch (Exceptions\NoNodesAvailableException $exception) {
$this->log->critical('No alive nodes found in cluster');
throw $exception;
}
$response = array();
$caughtException = null;
$this->lastConnection = $connection;
$future = $connection->performRequest(
$method,
$uri,
$params,
$body,
$options,
$this
);
$future->promise()->then(
//onSuccess
function ($response) {
$this->retryAttempts = 0;
// Note, this could be a 4xx or 5xx error
},
//onFailure
function ($response) {
// Ignore 400 level errors, as that means the server responded just fine
if (!(isset($response['code']) && $response['code'] >=400 && $response['code'] < 500)) {
// Otherwise schedule a check
$this->connectionPool->scheduleCheck();
}
}
);
return $future;
}
Arguments
"GET"
"/publications/_doc/_search"
array:2 [
"scroll" => "30s"
"size" => null
]
"{"query":{"bool":{"should":{"match_all":{}},"minimum_should_match":1,"filter":[{"term":{"status":"published"}},{"term":{"subject.raw":"Purdue University"}},{"term":{"subject.raw":"Civil Engineering"}},{"term":{"creator.raw":"David Burford"}},{"term":{"creator.raw":"Andrew Sydelko"}}]}},"highlight":{"number_of_fragments":3,"fragment_size":150,"fields":{"description":{},"title":{},"subject.raw":{},"subject":{},"id":{},"creator.raw":{},"creator":{},"date":{}}},"aggs":{"subject_buckets":{"composite":{"sources":{"subject":{"terms":{"field":"subject.raw"}}},"size":2000}},"creator":{"terms":{"field":"creator.raw"}},"date":{"date_histogram":{"field":"date","interval":"year","format":"yyyy","keyed":true,"order":{"_key":"desc"}}},"type":{"terms":{"field":"type"}}}}"
[]
Transport {#238}
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php
if (strlen(implode("", $var)) === 0) {
throw new InvalidArgumentException("$name cannot be an array of empty strings");
}
}
}
/**
* @param AbstractEndpoint $endpoint
*
* @throws \Exception
* @return array
*/
private function performRequest(AbstractEndpoint $endpoint)
{
$promise = $this->transport->performRequest(
$endpoint->getMethod(),
$endpoint->getURI(),
$endpoint->getParams(),
$endpoint->getBody(),
$endpoint->getOptions()
);
return $this->transport->resultOrFuture($promise, $endpoint->getOptions());
}
}
Arguments
"GET"
"/publications/_doc/_search"
array:2 [
"scroll" => "30s"
"size" => null
]
array:3 [
"query" => array:1 [
"bool" => array:3 [
"should" => array:1 [
"match_all" => {#279}
]
"minimum_should_match" => 1
"filter" => array:5 [
0 => array:1 [
"term" => array:1 [
"status" => "published"
]
]
1 => array:1 [
"term" => array:1 [
"subject.raw" => "Purdue University"
]
]
2 => array:1 [
"term" => array:1 [
"subject.raw" => "Civil Engineering"
]
]
3 => array:1 [
"term" => array:1 [
"creator.raw" => "David Burford"
]
]
4 => array:1 [
"term" => array:1 [
"creator.raw" => "Andrew Sydelko"
]
]
]
]
]
"highlight" => array:3 [
"number_of_fragments" => 3
"fragment_size" => 150
"fields" => array:8 [
"description" => {#274}
"title" => {#275}
"subject.raw" => {#281}
"subject" => {#282}
"id" => {#283}
"creator.raw" => {#284}
"creator" => {#285}
"date" => {#286}
]
]
"aggs" => array:4 [
"subject_buckets" => array:1 [
"composite" => array:2 [
"sources" => array:1 [
"subject" => array:1 [
"terms" => array:1 [
"field" => "subject.raw"
]
]
]
"size" => 2000
]
]
"creator" => array:1 [
"terms" => array:1 [
"field" => "creator.raw"
]
]
"date" => array:1 [
"date_histogram" => array:5 [
"field" => "date"
"interval" => "year"
"format" => "yyyy"
"keyed" => true
"order" => array:1 [
"_key" => "desc"
]
]
]
"type" => array:1 [
"terms" => array:1 [
"field" => "type"
]
]
]
]
[]
/var/www/html/purr/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php
*
* @return array
*/
public function search($params = array())
{
$index = $this->extractArgument($params, 'index');
$type = $this->extractArgument($params, 'type');
$body = $this->extractArgument($params, 'body');
/** @var callable $endpointBuilder */
$endpointBuilder = $this->endpoints;
/** @var \Elasticsearch\Endpoints\Search $endpoint */
$endpoint = $endpointBuilder('Search');
$endpoint->setIndex($index)
->setType($type)
->setBody($body);
$endpoint->setParams($params);
return $this->performRequest($endpoint);
}
/**
* $params['index'] = (list) A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
* ['type'] = (list) A comma-separated list of document types to search; leave empty to perform the operation on all types
* ['preference'] = (string) Specify the node or shard the operation should be performed on (default: random)
* ['routing'] = (string) Specific routing value
* ['local'] = (bool) Return local information, do not retrieve the state from master node (default: false)
* ['ignore_unavailable'] = (bool) Whether specified concrete indices should be ignored when unavailable (missing or closed)
* ['allow_no_indices'] = (bool) Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* ['expand_wildcards'] = (enum) Whether to expand wildcard expression to concrete indices that are open, closed or both.
*
* @param array $params Associative array of parameters
*
* @return array
*/
public function searchShards($params = array())
{
$index = $this->extractArgument($params, 'index');
$type = $this->extractArgument($params, 'type');
Arguments
/var/www/html/purr/app/Service/ElasticSearchService.php
'description'=> new \stdClass(),
'title'=> new \stdClass(),
'subject.raw'=> new \stdClass(),
'subject'=> new \stdClass(),
'id'=> new \stdClass(),
'creator.raw' => new \stdClass(),
'creator' => new \stdClass(),
'date' => new \stdClass()
]
],
'aggs' => $this->aggregations()
]
];
if (!empty($sort))
{
$params['body']['sort'] = $sort;
}
return $this->client->search($params);
}
public function searchNextSubList($query, $afterSub){
$params = [
'index' => $this->index,
'scroll' => '30s',
'size' => 10,
'type' => '_doc',
'body' => [
'query' => $query,
'highlight' => [
'number_of_fragments' => 3,
'fragment_size' => 150,
'fields' => [
'description'=> new \stdClass(),
'title'=> new \stdClass(),
'subject.raw'=> new \stdClass(),
'subject'=> new \stdClass(),
'id'=> new \stdClass(),
'creator.raw' => new \stdClass(),
Arguments
array:2 [
"scroll" => "30s"
"size" => null
]
/var/www/html/purr/app/Http/Controllers/PurrrController.php
// Check number of occurance of high frequency subjects
$highFreqSubjects = config('dataset.subjects');
// Sort search by field order
if (empty($sortSelected))
{
$sort = null;
}
else if ($sortSelected == "newest")
{
$sort['date'] = 'desc';
}
else if ($sortSelected == "oldest")
{
$sort['date'] = 'asc';
}
// Call elasticsearch service
$result = $this->elasticSearchService->search($query, $sort, $size);
$this->dataArr[] = $result;
$this->aggregations = $result['aggregations'];
// Get all search results
while (isset($result['hits']['hits']) && count($result['hits']['hits']) > 0)
{
$scroll_id = $result['_scroll_id'];
$extResult = $this->elasticSearchService->client()->scroll(
[
'scroll_id' => $scroll_id,
'scroll' => '30s'
]);
if (count($extResult['hits']['hits']) > 0)
{
if (!empty($this->aggregations))
{
$extResult['aggregations'] = $this->aggregations;
Arguments
array:1 [
"bool" => array:3 [
"should" => array:1 [
"match_all" => {#279}
]
"minimum_should_match" => 1
"filter" => array:5 [
0 => array:1 [
"term" => array:1 [
"status" => "published"
]
]
1 => array:1 [
"term" => array:1 [
"subject.raw" => "Purdue University"
]
]
2 => array:1 [
"term" => array:1 [
"subject.raw" => "Civil Engineering"
]
]
3 => array:1 [
"term" => array:1 [
"creator.raw" => "David Burford"
]
]
4 => array:1 [
"term" => array:1 [
"creator.raw" => "Andrew Sydelko"
]
]
]
]
]
null
null
/var/www/html/purr/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(sprintf(
'Method %s::%s does not exist.', static::class, $method
));
}
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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(sprintf(
'Method %s::%s does not exist.', static::class, $method
));
}
}
Arguments
array:2 [
0 => PurrrController {#222}
1 => "index"
]
array:1 [
0 => Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
]
/var/www/html/purr/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
"index"
array:1 [
0 => Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
]
/var/www/html/purr/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 {#146}
PurrrController {#222}
"index"
/var/www/html/purr/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.
/var/www/html/purr/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);
}
/**
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#213 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return tap($next($request), function ($response) use ($request) {
if ($this->shouldAddXsrfTokenCookie()) {
$this->addCookieToResponse($request, $response);
}
});
}
throw new TokenMismatchException('CSRF token mismatch.');
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#249 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// If the current session has an "errors" variable bound to it, we will share
// its value with all view instances so the views can easily access errors
// without having to bind. An empty bag is set when there aren't errors.
$this->view->share(
'errors', $request->session()->get('errors') ?: new ViewErrorBag
);
// Putting the errors in the view for every view allows the developer to just
// assume that some errors are always available, which is convenient since
// they don't have to continually run checks for the presence of errors.
return $next($request);
}
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#250 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (! $this->sessionConfigured()) {
return $next($request);
}
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
$response = $next($request);
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
$this->saveSession($request);
return $response;
}
/**
* Start the session for the given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Contracts\Session\Session
*/
protected function startSession(Request $request)
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#251 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
* Create a new CookieQueue instance.
*
* @param \Illuminate\Contracts\Cookie\QueueingFactory $cookies
* @return void
*/
public function __construct(CookieJar $cookies)
{
$this->cookies = $cookies;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#252 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $name
* @return void
*/
public function disableFor($name)
{
$this->except = array_merge($this->except, (array) $name);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#253 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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($request) {#209 …5}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Routing/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Routing\Route $route
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 {#146}
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#146}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Routing/Router.php
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 $request, Closure $next)
{
$request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
$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 $request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// Trust any IP address that calls us
// `**` for backwards compatibility, but is deprecated
if ($trustedIps === '*' || $trustedIps === '**') {
return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
}
// Support IPs addresses separated by comma
$trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#188 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$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());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#189 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
namespace Illuminate\Foundation\Http\Middleware;
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
class TransformsRequest
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$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());
} elseif ($request->request !== $request->query) {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#190 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#191 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
*
* @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);
if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
return $next($request);
}
if ($this->inExceptArray($request)) {
return $next($request);
}
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
/**
* Determine if the request has a URI that should be accessible in maintenance mode.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function inExceptArray($request)
{
foreach ($this->except as $except) {
if ($except !== '/') {
$except = trim($except, '/');
}
if ($request->fullUrlIs($except) || $request->is($except)) {
return true;
}
}
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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)) {
[$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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#192 …5}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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);
}
/**
* Run the pipeline and return the result.
*
* @return mixed
*/
public function thenReturn()
{
return $this->then(function ($passable) {
return $passable;
});
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
Arguments
Request {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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($request) {#44 …4}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var/www/html/purr/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 {#43
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#207 …5}
#routeResolver: Closure() {#211 …5}
+attributes: ParameterBag {#45}
+request: ParameterBag {#51}
+query: ParameterBag {#51}
+server: ServerBag {#47}
+files: FileBag {#48}
+cookies: ParameterBag {#46}
+headers: HeaderBag {#49}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/registry"
#requestUri: "/registry?creator%5B0%5D=David%20Burford&creator%5B1%5D=Andrew%20Sydelko&page=5&subject%5B1%5D=Purdue%20University&subject%5B2%5D=Civil%20Engineering"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#265}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}