Beispiel #1
0
 /**
  * Create a preflight response by adding the corresponding headers
  *
  * @param  HttpRequest  $request
  * @return HttpResponse
  */
 public function createPreflightCorsResponse(HttpRequest $request)
 {
     $response = new HttpResponse();
     $response->setStatusCode(200);
     $headers = $response->getHeaders();
     $headers->addHeaderLine('Access-Control-Allow-Origin', $this->getAllowedOriginValue($request));
     $headers->addHeaderLine('Access-Control-Allow-Methods', implode(', ', $this->options->getAllowedMethods()));
     $headers->addHeaderLine('Access-Control-Allow-Headers', implode(', ', $this->options->getAllowedHeaders()));
     $headers->addHeaderLine('Access-Control-Max-Age', $this->options->getMaxAge());
     $headers->addHeaderLine('Content-Length', 0);
     if ($this->options->getAllowedCredentials()) {
         $headers->addHeaderLine('Access-Control-Allow-Credentials', 'true');
     }
     return $response;
 }
Beispiel #2
0
 public function testNormalizeHttpMethods()
 {
     $options = new CorsOptions();
     $options->setAllowedMethods(array('post', 'GeT'));
     $this->assertEquals(array('POST', 'GET'), $options->getAllowedMethods());
 }