98 lines
5.8 KiB
HTML
98 lines
5.8 KiB
HTML
<!--
|
|
Copyright JS Foundation and other contributors, http://js.foundation
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<script type="text/html" data-help-name="http in">
|
|
<p>Erstellung eines HTTP-Endpunktes zur Erzeugung von Web-Diensten.</p>
|
|
<h3>Ausgangsdaten</h3>
|
|
<dl class="message-properties">
|
|
<dt>payload</dt>
|
|
<dd>Für eine GET-Anforderung enthält es ein Objekt aller Abfrage-Parameter (query string parameters).
|
|
Ansonsten enthält es den Hauptteil (Body) der HTTP-Anforderung.</dd>
|
|
<dt>req <span class="property-type">object</span></dt>
|
|
<dd>HTTP Anforderungsobjekt.<br/>
|
|
Es enthält mehrere Eigenschaften, die Informationen zu der Anforderung bereitstellen.
|
|
<ul>
|
|
<li><code>body</code>: Hauptteil der eingehenden Anforderung. Das Format hängt von der Anforderung ab.</li>
|
|
<li><code>headers</code>: Objekt mit HTTP-Request-Header</li>
|
|
<li><code>query</code>: Objekt mit Anfrage-Parametern (query string parameters)</li>
|
|
<li><code>params</code>: Objekt mit den Routing-Parametern</li>
|
|
<li><code>cookies</code>: Objekt mit den Cookies der Anfrage</li>
|
|
<li><code>files</code>: Objekt mit allen Dateien, die mit der POST-Anforderung gesendet wurden, sofern im Node aktiviert</li>
|
|
</ul>
|
|
</dd>
|
|
<dt>res <span class="property-type">object</span></dt>
|
|
<dd>HTTP-Antwortobjekt.<br/>
|
|
Diese Eigenschaft sollte nicht direkt verwendet werden.
|
|
Im http response-Node ist dokumentiert, wie auf eine Anforderung reagiert wird.
|
|
Diese Eigenschaft muss an der Nachricht angehängt bleiben, die an den Antwort-Node übergeben wird.</dd>
|
|
</dl>
|
|
<h3>Details</h3>
|
|
<p>Der Node ist auf dem eingestellten Pfad für Anforderungen eines bestimmten Typs empfangsbereit.
|
|
Der Pfad kann vollständig angegeben werden, z.B. <code>/user</code> oder benannte Parameter beinhalten,
|
|
die einen beliebigen Wert akzeptieren, z.B. <code>/user/:name</code>.
|
|
Wenn benannte Parameter verwendet werden, kann auf ihren aktuellen Wert über <code>msg.req.params</code>
|
|
zugegriffen werden.</p>
|
|
<p>Für Anforderungen, die einen Hauptteil (Body) enthalten, wie z.B. POST oder PUT, wird der Inhalt der
|
|
Anforderung über <code>msg.payload</code> verfügbar gemacht.</p>
|
|
<p>Wenn der Inhaltstyp der Anforderung ermittelt werden kann, wird der Hauptteil als passender Typ analysiert.
|
|
Z.B. <code>application/json</code> wird zu einem JavaScript-Objekt analysiert.</p>
|
|
<p><b>Hinweis</b>: Dieser Node sendet keine Antwort an die Anforderung.
|
|
Der Flow muss einen http response-Node enthalten,
|
|
um die Anforderung zu vervollständigen.</p>
|
|
</script>
|
|
|
|
<script type="text/html" data-help-name="http response">
|
|
<p>Senden von Antworten auf Anforderungen, die von einem http in-Node empfangen wurden.</p>
|
|
<h3>Eingangsdaten</h3>
|
|
<dl class="message-properties">
|
|
<dt>payload <span class="property-type">string</span></dt>
|
|
<dd>Hauptteil (Body) der Antwort.</dd>
|
|
<dt class="optional">statusCode <span class="property-type">number</span></dt>
|
|
<dd>Wenn gesetzt, wird diese als Antwort-Statuscode verwendet. Standardwert: 200.</dd>
|
|
<dt class="optional">headers <span class="property-type">object</span></dt>
|
|
<dd>Wenn gesetzt, enthält es die HTTP-Header für die Antwort.</dd>
|
|
<dt class="optional">cookies <span class="property-type">object</span></dt>
|
|
<dd>Wenn gesetzt, kann es zum Setzen oder Löschen von Cookies verwendet werden.</dd>
|
|
</dl>
|
|
<h3>Details</h3>
|
|
<p>Der <code>statusCode</code> und die <code>headers</code> können auch innerhalb des Node angegeben werden.
|
|
Wenn eine Eigenschaft innerhalb des Nodes angegeben ist,
|
|
kann sie nicht durch die entsprechende Nachrichteneigenschaft überschrieben werden.</p>
|
|
<h4><b>Cookie-Behandlung</b></h4>
|
|
<p>Die <code>cookies</code>-Eigenschaft muss ein Objekt mit Name/Wert-Paaren sein.
|
|
Bei dem Wert kann es sich entweder um eine Zeichenfolge (string) zur Festlegung des Cookies mit Standardwerten handeln
|
|
oder es kann ein Objekt mit Optionen sein.</p>
|
|
<p>Im folgenden Beispiel werden zwei Cookies festgelegt - einer mit dem Namen <code>name</code> und dem
|
|
Wert <code>nick</code> und der andere <code>session</code> mit dem Wert
|
|
<code>1234</code> und einer festgelegten Ablaufzeit von 15 Minuten.</p>
|
|
<pre>
|
|
msg.cookies = {
|
|
name: 'nick',
|
|
session: {
|
|
value: '1234',
|
|
maxAge: 900000
|
|
}
|
|
}</pre>
|
|
<p>Die gültigen Optionen sind:</p>
|
|
<ul>
|
|
<li><code>domain</code>: Domänenname für das Cookie, angegeben als Zeichenfolge (string)</li>
|
|
<li><code>expires</code>: Ablaufzeit in GMT. Wenn nicht vorgeben oder Null (0), wird ein Sitzungscookie erstellt.</li>
|
|
<li><code>maxAge</code>: Ablaufzeit in Bezug auf die aktuelle Zeit in Millisekunden, angegeben als Zeichenfolge (string)</li>
|
|
<li><code>path</code>: Pfad für das Cookie. Standardwert: / (Schrägstrich), angegeben als Zeichenfolge (string)</li>
|
|
<li><code>value</code>: Wert, der für das Cookie verwendet werden soll, angegeben als Zeichenfolge (string)</li>
|
|
</ul>
|
|
<p>Um ein Cookie zu löschen, ist sein <code>value</code> auf <code>null</code> zu setzen.</p>
|
|
</script>
|