From 596897bd78a3f0101e586f378067e03fec44e4a5 Mon Sep 17 00:00:00 2001 From: merijn Date: Fri, 28 Jun 2019 12:28:03 +0200 Subject: [PATCH 1/2] #27 Added request parameter support --- src/PrerenderMiddleware.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/PrerenderMiddleware.php b/src/PrerenderMiddleware.php index 04f6ac5..f3f84d6 100644 --- a/src/PrerenderMiddleware.php +++ b/src/PrerenderMiddleware.php @@ -199,14 +199,32 @@ private function getPrerenderedPageResponse($request) $protocol = $request->isSecure() ? 'https' : 'http'; try { + // Return the Guzzle Response - $host = $request->getHost(); + $host = $request->getHost(); $path = $request->Path(); + + //get request params + $params = $request->query(); // Fix "//" 404 error if ($path == "/") { $path = ""; } - return $this->client->get($this->prerenderUri . '/' . urlencode($protocol.'://'.$host.'/'.$path), compact('headers')); + + $paramsString = "?"; + + //convert the param array to a string + $i = 1; + foreach ($params as $key => $value){ + + $paramsString .= $key . "=" . $value; + if(count($params) > $i){ + $paramsString .= "&"; + } + $i++; + } + + return $this->client->get($this->prerenderUri . '/' . urlencode($protocol.'://'.$host.'/'.$path.$paramsString), compact('headers')); } catch (RequestException $exception) { if(!$this->returnSoftHttpCodes && !empty($exception->getResponse()) && $exception->getResponse()->getStatusCode() == 404) { \App::abort(404); From 036c3d011866374a1c850b8e23a46e3c8d011733 Mon Sep 17 00:00:00 2001 From: merijn Date: Fri, 23 Aug 2019 12:09:46 +0200 Subject: [PATCH 2/2] #27 Added getQueryString function to get the params --- src/PrerenderMiddleware.php | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/PrerenderMiddleware.php b/src/PrerenderMiddleware.php index f3f84d6..0a12772 100644 --- a/src/PrerenderMiddleware.php +++ b/src/PrerenderMiddleware.php @@ -204,27 +204,13 @@ private function getPrerenderedPageResponse($request) $host = $request->getHost(); $path = $request->Path(); - //get request params - $params = $request->query(); // Fix "//" 404 error if ($path == "/") { $path = ""; } - $paramsString = "?"; + return $this->client->get($this->prerenderUri . '/' . urlencode($protocol.'://'.$host.'/'.$path.'?'.$request->getQueryString()), compact('headers')); - //convert the param array to a string - $i = 1; - foreach ($params as $key => $value){ - - $paramsString .= $key . "=" . $value; - if(count($params) > $i){ - $paramsString .= "&"; - } - $i++; - } - - return $this->client->get($this->prerenderUri . '/' . urlencode($protocol.'://'.$host.'/'.$path.$paramsString), compact('headers')); } catch (RequestException $exception) { if(!$this->returnSoftHttpCodes && !empty($exception->getResponse()) && $exception->getResponse()->getStatusCode() == 404) { \App::abort(404);