writeFormBody

Writes a vibe.http.client.HTTPClientRequest body as URL encoded form data.

  1. void writeFormBody(HTTPClientRequest req, string[string] form)
  2. void writeFormBody(HTTPClientRequest req, PairRange form)
    void
    writeFormBody
    (
    PairRange
    )
    if (
    isTuple!(ElementType!PairRange) &&
    ElementType!PairRange.length == 2
    )

Parameters

req HTTPClientRequest

Request object to write to.

form PairRange

range of t = Tuple!(string, string), where t[0] is the name and t[1] the value of a form entry.

Examples

import vibe.core.log;
import vibe.http.client;
import vibe.http.form;
import vibe.stream.operations;
import std.range;

void sendForm()
{
	string[] names = ["foo", "bar", "baz"];
	string[] values = ["1", "2", "3"];
	auto form = zip(names, values);
	requestHTTP("http://example.com/form",
		(scope req) {
			req.method = HTTPMethod.POST;
			req.writeFormBody(form);
		},
		(scope res) {
			logInfo("Response: %s", res.bodyReader.readAllUTF8());
		});
}

Meta