/** * @return string */ public function compile() { $cookies = Helpers::flatMapAssoc($this, function ($value, $keys) { $name = implode('][', array_map('urlencode', $keys)); $name = count($keys) > 1 ? substr_replace($name, '', strpos($name, ']'), 1) . ']' : $name; return $name . '=' . urlencode($value); }); return implode('; ', $cookies); }
/** * @param \Kdyby\Curl\Request $request */ public function request(Curl\Request $request) { $id = md5(serialize($request)); $content = array($request->method . ' ' . $request->getUrl()); foreach ($request->headers as $name => $value) { $content[] = "{$name}: {$value}"; } $content = '> ' . implode("\n> ", $content) . "\n"; Curl\Helpers::flatMapAssoc($request->post + $request->files, function ($val, $keys) use(&$content) { $content .= implode("][", $keys) . ": " . Code\Helpers::dump($val) . "\n"; }); $this->write($content . "\n", $id); return $id; }