예제 #1
0
 public function __invoke(HttpResponse $response)
 {
     $start = microtime(true);
     (yield null);
     $duration = microtime(true) - $start;
     $response->setHeader('X-Request-Duration', $duration * 1000);
 }
예제 #2
0
파일: CORS.php 프로젝트: lord2800/dynamo
 public function __invoke(HttpRequest $request, HttpResponse $response)
 {
     $origin = $request->getHeader('Origin');
     if (!empty($origin)) {
         if (in_array($origin, $this->domains)) {
             $response->setHeader('Access-Control-Allow-Origin', $origin);
             if (!!$this->credentials) {
                 $response->setHeader('Access-Control-Allow-Credentials', !!$this->credentials ? 'true' : 'false');
             }
             if (!empty($this->methods)) {
                 $response->setHeader('Access-Control-Allow-Methods', implode(', ', $this->methods));
             }
             if (!empty($this->allowHeaders)) {
                 $response->setHeader('Access-Control-Allow-Headers', implode(', ', $this->allowHeaders));
             }
             if (!empty($this->exposeHeaders)) {
                 $response->setHeader('Access-Control-Expose-Headers', implode(', ', $this->exposeHeaders));
             }
             if (!empty($this->ttl)) {
                 $response->setHeader('Access-Control-Max-Age', $this->ttl);
             }
         }
     }
 }