Body

Die Body Klasse bildet den Inhalt des Requests (Anfrage) oder der Response (Antwort) ab.

Neues Body Objekt

Ein Body Objekt kann mit einem String oder einem Content Objekt erzeugt werden.

// \Alvine\Types\Mime\Content Objekt
$content = new \Alvine\Types\Mime\Text('Mein Inhalt');
$body = new \Alvine\Net\Http\Body($content);

// String und MimeType
$content = 'Mein Inhalt';
$body = new \Alvine\Net\Http\Body($content, new \Alvine\Types\Mime\MIMEType(\Alvine\Types\Mime\MIMEType::TEXT, \Alvine\Types\Mime\Text::HTML));

Werte auslesen

Auf den Inhalt eines Bodys kann mit der Mehtode getContent() zugegriffen werden. Das Objekt hat zusätzlich auch die Methode __toSrting() implementiert, so wird der Inhalt direkt zurück gegeben.

$body = new \Alvine\Net\Http\Body(new \Alvine\Types\Mime\Text('Mein Inhalt'));
// __toString()
echo $body; // Mein Inhalt

// Rückgabe ist ein \Alvine\Types\Mime\Content Objekt
$content = $body->getContent();
// Ergebnis -> Mein Inhalt

Json Werte auslesen

Wenn der Content vom Type "application/json" ist, kann über die Methode getValueMap() direkt eine Map zurück geliefert werden. Das Json steht dann als AlvineTypesMap zu Verfügung.

$content = '{
            "Herausgeber": "schukai",
            "Nummer": "1234-5678-9012-3456",
            "Deckung": 2e+6,
            "Waehrung": "EURO",
            "Inhaber": {
                "Name": "Mustermann",
                "Vorname": "Max",
                "maennlich": true,
                "Hobbys": [ "Reiten", "Golfen", "Lesen" ],
                "Alter": 42,
                "Kinder": [],
                "Partner": null
            }
            }';
$body = new \Alvine\Net\Http\Body($content, new \Alvine\Types\Mime\MIMEType(\Alvine\Types\Mime\MIMEType::APPLICATION_KEY, 'json'));
$map = $body->getValueMap();

echo $map->getValue('Herausgeber'); 
// Ergebnis -> schukai