[−][src]Crate rouille
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:80", 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 analyze the body of the request, like handling JSON input, form input, etc. you
can take a look at the
inputmodule.
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.
In order to serve static files, take a look at
the match_assets function.
Re-exports
pub extern crate url; |
Modules
| cgi | Allows you to let an external process handle the request through CGI. |
| content_encoding | |
| input | Analyze the request's headers and body. |
| proxy | Dispatch a request to another HTTP server. |
| session | Sessions handling. |
| websocket | Support for websockets. |
Macros
| accept | Dispatches between blocks depending on the value of the |
| 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 | Parse input from HTML forms. See the |
| 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
| HeadersIter | Iterator to the list of headers in a request. |
| 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. |
| Server | A listening server. |
Traits
| ReadWrite | Dummy trait that regroups the |
| Upgrade | Trait for objects that can take ownership of a raw connection to the client data. |
Functions
| extension_to_mime | Returns the mime type of a file based on its extension, or |
| log | Adds a log entry to the given writer for each request. |
| log_custom | Calls custom logging functions after processing a request. |
| match_assets | Searches inside |
| start_server | Starts a server and uses the given requests handler. |
| start_server_with_pool | Identical to |