예제 #1
0
 /**
  * Add a HTTP call to the data
  *
  * @param Request  $request Call request
  * @param Response $response Call response
  * @param float    $time duration of the call
  */
 public static function addCall($request, $response, $time = null)
 {
     $calls = static::config('calls');
     $trace = Debugger::trace(['start' => 2]);
     $calls[] = ['request' => ['uri' => (string) $request->getUri(), 'body' => $request->body(), 'method' => $request->getMethod(), 'headers' => $request->getHeaders(), 'content-type' => $request->getHeader('Content-Type')], 'response' => ['body' => $response->body(), 'status_code' => $response->getStatusCode(), 'headers' => $response->getHeaders(), 'content-type' => $response->getHeader('Content-Type')], 'time' => $time, 'trace' => $trace];
     static::drop('calls');
     static::config('calls', $calls);
 }
예제 #2
0
파일: Stream.php 프로젝트: nrother/cakephp
 /**
  * Build the header context for the request.
  *
  * Creates cookies & headers.
  *
  * @param \Cake\Http\Client\Request $request The request being sent.
  * @param array $options Array of options to use.
  * @return void
  */
 protected function _buildHeaders(Request $request, $options)
 {
     $headers = [];
     foreach ($request->getHeaders() as $name => $values) {
         $headers[] = sprintf('%s: %s', $name, implode(", ", $values));
     }
     $cookies = [];
     foreach ($request->cookies() as $name => $value) {
         $cookies[] = "{$name}={$value}";
     }
     if ($cookies) {
         $headers[] = 'Cookie: ' . implode('; ', $cookies);
     }
     $this->_contextOptions['header'] = implode("\r\n", $headers);
 }