Пример #1
0
 /**
  * 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());
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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());
 }
Пример #4
0
 /**
  * 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()));
 }