Client
class Client extends HTTPClient
API-Client für HTTP-Anfragen
Diese Klasse stellt im wesentlichen die Methode Client::executeRequest() bereit. Diese Methode erstellt eine URI und führt den Request aus. Über die Konstanden können die gewünschten Anpassungen für die Ziel-Clients durchgeführt werden.
Constants
API_VERSION |
Verwendete API-Version soweit diese in der URI Verwendung findet. Eine API-Version wird nach der Domain dem Pfad automatisch vorangestellt. |
ACCEPTED_CONTENT |
Erwarteter Inhaltstyp |
RECURSIVE_DEPTH |
Anzahl der Redirects die durchgeführt werden |
Properties
protected ObjectMap | $cookies | \Alvine\Net\Http\Cookie der Verbindung | |
protected string | $redirectStrategy |
Methods
Neuer Client
Redirect-Strategie setzen
Requests ausführen
Request-Header
Überprüfen des MimeTypes
Details
at line 79
__construct(URI $uri)
Neuer Client
at line 103
Client
setRedirectStrategyClass(string $redirectStrategy)
Redirect-Strategie setzen
$client->setRedirectStrategy('\Alvine\Infrastructure\Api\Rest\RedirectStrategy');
at line 154
protected Response
executeRequest(string $path, array $acceptedStatusCode, string $method = \Alvine\Net\Http\RequestMethod::GET, RequestHeader $header = null, Body $body = null)
Requests ausführen
Hilfsfunktion für die Übermittlung der Anweisungen an den Server. Das Standard-Format ist JSON. Dieses kann jedoch über die Konstante ACCEPTED_CONTENT in abgeleiteten Klassen überschrieben werden.
public function doSomething() {
$param = ['?flag='.\Alvine\Types\Type::validateBoolean($all)];
if($limit!==null) $param[] = 'limit='.(string) \Alvine\Types\Type::validateInteger($limit);
$response = $this->executeRequest('/object/json'.\implode('&', $param), [\Alvine\Net\Http\StatusCode::HTTP_OK]);
$result = @\json_decode($response->getBody(), true);
$result = \Alvine\Types\Type::validateArray($result);
}
Die Übertragung von Daten mittels POST / PUT kann folgendermassen erfolgen
public function doSomething() {
$data = ['key'=>'value'];
$body = new \Alvine\Net\Http\Body($data->asJson(), 'application/json');
$response = $this->executeRequest('/object/create', [\Alvine\Net\Http\StatusCode::HTTP_CREATED], \Alvine\Net\Http\RequestMethod::POST, $body);
$json = (string) $response->getBody();
$result = @\json_decode($json, true);
$resultHelper = new \Alvine\Types\ArrayHelper($result);
}
at line 228
protected RequestHeader
createRequestHeader(RequestHeader $header = null)
Request-Header
Erstellt einen Request-Header. Diese Methode kann überschrieben werden, um den Request-Header zu manipulieren.
protected function createRequestHeader() {
$header = parent::createRequestHeader();
// Header erweitern
return $header;
}
at line 277
protected Client
checkMimeTypeOfResponse(Response $response, MediaType $expected)
Überprüfen des MimeTypes
Mit Hilfe dieser Methode lässt sich der MIME-Type der Antwort überprüfen. Sollte der Type nicht mit dem erwünschten Wert übereinstimmen, so wird eine Exception geworfen.