Struct ws::Request
[−]
[src]
pub struct Request { /* fields omitted */ }
The handshake request.
Methods
impl Request
[src]
fn header(&self, header: &str) -> Option<&Vec<u8>>
Get the value of the first instance of an HTTP header.
fn header_mut(&mut self, header: &str) -> Option<&mut Vec<u8>>
Edit the value of the first instance of an HTTP header.
fn headers(&self) -> &Vec<(String, Vec<u8>)>
Access the request headers.
fn headers_mut(&mut self) -> &mut Vec<(String, Vec<u8>)>
Edit the request headers.
fn origin(&self) -> Result<Option<&str>>
Get the origin of the request if it comes from a browser.
fn key(&self) -> Result<&Vec<u8>>
Get the unhashed WebSocket key sent in the request.
fn hashed_key(&self) -> Result<String>
Get the hashed WebSocket key from this request.
fn version(&self) -> Result<&str>
Get the WebSocket protocol version from the request (should be 13).
fn resource(&self) -> &str
Get the path of the request.
fn protocols(&self) -> Result<Vec<&str>>
Get the possible protocols for the WebSocket connection.
fn add_protocol(&mut self, protocol: &str)
Add a possible protocol to this request. This may result in duplicate protocols listed.
fn remove_protocol(&mut self, protocol: &str)
Remove a possible protocol from this request.
fn extensions(&self) -> Result<Vec<&str>>
Get the possible extensions for the WebSocket connection.
fn add_extension(&mut self, ext: &str)
Add a possible extension to this request.
This may result in duplicate extensions listed. Also, the order of extensions
indicates preference, so if the preference matters, consider using the
Sec-WebSocket-Protocol
header directly.
fn remove_extension(&mut self, ext: &str)
Remove a possible extension from this request. This will remove all configurations of the extension.
fn client_addr(&self) -> Result<Option<&str>>
Get the IP address of the client.
This method will attempt to retrieve the most likely IP address of the requester in the following manner:
If the X-Forwarded-For
header exists, this method will return the left most
address in the list.
If the Forwarded HTTP Header Field exits,
this method will return the left most address indicated by the for
parameter,
if it exists.
Note
This method does not ensure that the address is a valid IP address.
fn parse(buf: &[u8]) -> Result<Option<Request>>
Attempt to parse an HTTP request from a buffer. If the buffer does not contain a complete
request, this will return Ok(None)
.
fn from_url(url: &Url) -> Result<Request>
Construct a new WebSocket handshake HTTP request from a url.
fn format<W>(&self, w: &mut W) -> Result<()> where W: Write
Write a request out to a buffer