/** * @param BreadCrumb[] $crumbs * @return BreadCrumb[] */ private function saveCrumbs($crumbs) { $this->cookies->write(new Cookie(array_map(function (BreadCrumb $crumb) { return ['caption' => $crumb->getCaption(), 'target' => $crumb->getTarget()]; }, $crumbs)), self::COOKIE_KEY); return $crumbs; }
/** * @param WebResponse|mixed $response * @throws \Exception if $response is not a WebResponse * @return null */ public function deliver($response) { if ($response instanceof WebResponse) { if ($response->getStatus()) { header('HTTP/1.1 ' . $response->getStatus()); } foreach ($response->getHeaders() as $header => $value) { if (!is_null($value)) { header($header . ': ' . $value); } } } $this->cookies->applyCookies('setcookie'); echo $response; }
protected function readBreadcrumbs() { if ($this->cookies->hasKey(self::BREADCRUMB_COOKIE)) { return $this->cookies->read(self::BREADCRUMB_COOKIE)->payload; } return []; }
private function resetBreadCrumbs() { $this->cookies->create(new Cookie([]), ExecuteResource::BREADCRUMB_COOKIE); }
private function saveCrumbs($crumbs) { $this->cookies->create(new Cookie($crumbs), self::BREADCRUMB_COOKIE); }
private function givenThereAreNoSavedCrumbs() { Mockster::stub($this->cookies->hasKey(ExecuteResource::BREADCRUMB_COOKIE))->will()->return_(false); }
private function thenAllKeysShouldBe($array) { $this->assertEquals($array, $this->store->keys()); }