Initial release: April 2004
Kris
- struct HeaderElement ¶
-
Exposes freachable HttpHeader instances
- class HttpHeadersView : HttpTokens ¶
-
Maintains a set of input headers. These are placed into an input
buffer and indexed via a HttpStack.
- this() ¶
-
Construct this set of headers, using a HttpStack based
upon a ':' delimiter
- this(HttpHeadersView source) ¶
-
Clone a source set of HttpHeaders
- HttpHeadersView clone() ¶
-
Clone this set of HttpHeadersView
- HttpHeadersView retain(bool yes = true) ¶
-
Control whether headers are duplicated or not. Default
behaviour is aliasing instead of copying, avoiding any
allocatation overhead. However, the default won't preserve
those headers once additional content has been read.
To retain headers across arbitrary buffering, you should
set this option true
- void parse(InputBuffer input) [override] ¶
-
Read all header lines. Everything is mapped rather
than being allocated & copied
- const(char)[] get(HttpHeaderName name, const(char)[] def = null) ¶
-
Return the value of the provided header, or null if the
header does not exist
- int getInt(const(HttpHeaderName) name, int def = -1) ¶
-
Return the integer value of the provided header, or -1
if the header does not exist
- Time getDate(HttpHeaderName name, Time def = epoch) ¶
-
Return the date value of the provided header, or Time.epoch
if the header does not exist
- int opApply(scope int delegate(ref HeaderElement) dg) ¶
-
Iterate over the set of headers. This is a shell around
the superclass, where we can convert the HttpToken into
a HeaderElement instead.
- FilteredHeaders createFilter(HttpHeaderName header) ¶
-
Create a filter for iterating of a set of named headers.
We have to create a filter since we can't pass additional
arguments directly to an opApply() method.
- class HttpHeaders : HttpHeadersView ¶
-
Maintains a set of output headers. These are held in an output
buffer, and indexed via a HttpStack. Deleting a header could be
supported by setting the HttpStack entry to null, and ignoring
such values when it's time to write the headers.
- this() ¶
-
- this(HttpHeaders source) ¶
-
Clone a source set of HttpHeaders
- HttpHeaders clone() [override] ¶
-
Clone this set of HttpHeaders
- void add(HttpHeaderName name, scope void delegate(OutputBuffer) dg) ¶
-
Add the specified header, and use a callback to provide
the content.
- void add(HttpHeaderName name, const(char)[] value) ¶
-
Add the specified header and text
- void addInt(HttpHeaderName name, size_t value) ¶
-
Add the specified header and integer value
- void addDate(HttpHeaderName name, Time value) ¶
-
Add the specified header and long/date value
- bool remove(HttpHeaderName name) ¶
-
Remove the specified header header. Returns false if not
found.