/** * @param IHttpRequest $request * @param array $data */ protected function addToTrunk(IHttpRequest $request, array $data) { $trunk = $request->getUrl()->getQuery()->get('trunk', 'default'); if ($trunk !== null || $this->trunkAll) { $trunk = str_replace(['/', '.'], '', $trunk); if (strlen($trunk) > 0) { $path = path($this->trunksPath, $trunk . '.txt'); if (!file_exists($path)) { file_create($path); } file_append($path, s("\n\n%s %s\n\n", date('c'), str_repeat('=', 80))); file_append($path, json_encode($data, JSON_PRETTY_PRINT)); } } }
/** * @param IHttpRequest $request * * @return mixed */ protected function detectEnvFromUrlPath(IHttpRequest $request) { $env = $request->getUrl()->parse('/env={env}')->get('env'); if ($env) { // remove environment from the url $cleanPath = str_replace(s('/env=%s', $env), '', $request->getUrl()->getPath()); $request->getUrl()->setPath($cleanPath); } return $env; }
/** * @param IHttpRequest $request * * @return IHttpResponse */ public function handle(IHttpRequest $request) { $route = $this->router->match($request->getMethod(), $request->getUrl()); return $this->routesInvoker->invoke($route); }
/** * @return string */ public function createUrl() { // for whatever reason, curl does not properly // convert whitespaces inside array query parameters return str_replace(' ', '%20', $this->request->getUrl()->toString()); }