ServerCallback
Description:
public delegate void ServerCallback (Server server, ServerMessage msg, string path, HashTable<string,string>? query)
A callback used to handle requests to a [class@Server].
path
and query
contain the likewise-named components of the Request-URI, subject to certain assumptions. By default,
[class@Server] decodes all percent-encoding in the URI path, such that `"/foo%2Fbar"` is treated the same as `"/foo/bar"`. If your server is
serving resources in some non-POSIX-filesystem namespace, you may want to distinguish those as two distinct paths. In that case, you can set the
[property@Server:raw-paths] property when creating the [class@Server], and it will leave those characters undecoded.
query
contains the query component of the Request-URI parsed according to the rules for HTML form handling. Although this is the
only commonly-used query string format in HTTP, there is nothing that actually requires that HTTP URIs use that format; if your server needs to
use some other format, you can just ignore query
, and call [method@Message.get_uri] and parse the URI's query field yourself.
See [method@Server.add_handler] and [method@Server.add_early_handler] for details of what handlers can/should do.
Parameters:
server |
the Server |
msg |
the message being processed |
path |
the path component of |
query |
the parsed query component of |
user_data |
the data passed to [method@Server.add_handler] or [method@Server.add_early_handler]. |