Crate rouille [−] [src]
The rouille library is very easy to get started with.
Listening to a port is done by calling the start_server
function:
use rouille::Request; use rouille::Response; rouille::start_server("0.0.0.0:1234", move |request| { Response::text("hello world") });
Whenever an HTTP request is received on the address passed as first parameter, the closure
passed as second parameter is called. This closure must then return a
Response
that will be sent back to the client.
See the documentation of start_server
for more details.
Analyzing the request
The parameter that the closure receives is a Request
object that
represents the request made by the client.
The Request
object itself provides some getters, but most advanced functionnalities are
provided by other modules of this crate.
- In order to dispatch between various code depending on the URL, you can use the
router!
macro. - In order to serve static files, use the
match_assets
function. - ... TODO: write the rest
Returning a response
Once you analyzed the request, it is time to return a response by returning a
Response
object.
All the members of Response
are public, so you can customize it as you want. There are also
several constructors that you build a basic Response
which can then modify.
Modules
cgi |
Allows you to let an external process handle the request through CGI. |
input | |
session |
Sessions handling. |
Macros
assert_or_400 |
This macro assumes that the current function returns a |
find_route |
Evaluates each parameter until one of them evaluates to something else than a 404 error code. |
post_input | |
router |
Equivalent to a |
try_or_400 |
This macro assumes that the current function returns a |
try_or_404 |
This macro assumes that the current function returns a |
Structs
Request |
Represents a request that your handler must answer to. |
RequestBody |
Gives access to the body of a request. |
Response |
Contains a prototype of a response. |
ResponseBody |
An opaque type that represents the body of a response. |
Functions
log |
Adds a log entry to the given writer at each request. |
match_assets |
Searches inside |
start_server |
Starts a server and uses the given requests handler. |