/** * Tests whether getContentType() / setContentType() work as expected. * * @return void */ public function testContentTypeHandling() { $message = new HttpRequest(); $this->assertSame('text/plain; charset=utf-8', $message->getContentType()->toString()); $message->setContentType(new InternetMediaType('text', 'html', array('charset' => 'iso-8859-1'))); $this->assertSame('text/html; charset=iso-8859-1', $message->getContentType()->toString()); $this->assertSame($message->getContentType(), $message->getContentType()); }
/** * Checks whether a valid CSRF token has been provided along the given request. * * Returns TRUE in case the given request contains a valid CSRF token. * Otherwise returns FALSE. * * @param \Ableron\Lib\Http\HttpRequest $httpRequest The request to check for valid security token * @return bool */ public function checkCsrfToken(HttpRequest $httpRequest) { // check POST request if ($httpRequest->isPost() && $httpRequest->getPostParameters()->containsKey(ABLERON_PARAM_CSRF_TOKEN) && $this->isValidCsrfToken($httpRequest->getPostParameters()->get(ABLERON_PARAM_CSRF_TOKEN))) { return true; } // check GET request if ($httpRequest->isGet() && $httpRequest->getQueryParameters()->containsKey(ABLERON_PARAM_CSRF_TOKEN) && $this->isValidCsrfToken($httpRequest->getQueryParameters()->get(ABLERON_PARAM_CSRF_TOKEN))) { return true; } // handle missing/invalid CSRF token $this->handlePossibleCsrfAttack(); // given request does not contain valid CSRF token return false; }
/** * Tests whether getUri() / setUri() work as expected. * * @return void */ public function testUriHandling() { $httpRequest = new HttpRequest(); $this->assertSame('', $httpRequest->getUri()->toString()); $httpRequest->setUri(new Uri('http://example.com/foo')); $this->assertSame('http://example.com/foo', $httpRequest->getUri()->toString()); $this->assertSame($httpRequest->getUri(), $httpRequest->getUri()); }
/** * Initializes the response handler. * * @param \Ableron\Lib\Http\HttpRequest $request The request to handle the response for */ public function __construct(HttpRequest $request) { $this->setResponse(new HttpResponse(HttpResponse::STATUS_OK, null, '', $request->getHttpVersion())); }