public function testWithoutHeader() { $request = new Request('', '', [], ['foo' => 'bar', 'baz' => 'qux']); $newRequest = $request->withoutHeader('baz'); $this->assertNotSame($request, $newRequest); $this->assertEquals(['foo' => 'bar'], $newRequest->getHeaders()); }
/** * {@inheritdoc} */ protected function findCallback(Request $request) { if (!isset($this->callbacks[$request->getTopic()])) { return; } foreach ($this->callbacks[$request->getTopic()] as $version => $callback) { if (version_compare($version, $request->getVersion(), '<=')) { return $callback; } } return; }
/** * @param LocationInterface $location * @param Request $request * * @return AMQPMessage */ private function createMessage(LocationInterface $location, Request $request) { $encoded = $this->encoder->encode($request->getArguments()); return new AMQPMessage($encoded->getBody(), ['content_type' => $encoded->getType(), 'message_id' => uniqid('', true), 'timestamp' => time(), 'application_headers' => new AMQPTable(array_merge($request->getHeaders(), ['to' => $location->name(), 'topic' => $request->getTopic(), 'version' => $request->getVersion()]))]); }
/** * @param Request $request * @param \ReflectionParameter $parameter * * @return mixed */ public function getParameterValue(Request $request, \ReflectionParameter $parameter) { if ($request->hasArgument($name = $parameter->name)) { return $request->getArgument($name); } if ($request->hasArgument($name = $this->getCamelCaseName($parameter->name))) { return $request->getArgument($name); } return $request->getArgument($this->getSneakCaseName($name)); }
public static function make($service, Request $request) { return new self(sprintf('Non of the existent bindings for service "%s" support "%s" request, version "%s"', $service, $request->getTopic(), $request->getVersion())); }
/** * @param string $service * @param Request $request * * @return string */ private function getEncodedHeaders($service, Request $request) { $headers = ['Accept: application/json', 'User-Agent: Message Bus Client', 'Content-Type: application/json', self::TO_HEADER . ': ' . $service, self::TOPIC_HEADER . ': ' . $request->getTopic(), self::VERSION_HEADER . ': ' . $request->getVersion()]; if ($this->token) { $headers[] = 'Authorization: Basic ' . $this->token; } foreach ($request->getHeaders() as $key => $value) { $name = implode('-', array_map('ucfirst', explode('_', $key))); $headers[] = sprintf('%s%s: %s', self::HEADER_PREFIX, $name, $value); } return $headers; }