RServer

A library for intercepting/sniffing TCP requests, modify headers and responses.

Example

How to use the RServer to intercept/sniff TCP requests.

```rust use rserver;

fn main() { let (serverhost, serverport) = ("127.0.0.1", 80); rserver::startserver(serverhost, server_port); }

```

How to read the request data and return request data & request length ```rust fn readrequest(stream: &mut TcpStream) -> (Vec, usize) { let buffersize = 512; let mut requestbuff = vec![]; // let us loop & try to read the whole request data let mut requestlen = 0usize; loop { let mut buffer = vec![0; buffersize]; println!("Reading stream data"); match stream.read(&mut buffer) { Ok(n) => { println!("Top n:{}", n); println!("buffer data now: {}", String::fromutf8lossy(&buffer[..])); if n == 0 { break; } else { requestlen += n; requestbuff.append(&mut buffer); // we need not read more data in case we have read less data than buffer size if n < buffersize { println!("No Need to read more data"); break; } } } Err(e) => { println!("Error in reading stream data: {:?}", e); break; } } println!("loop stream read code ends here"); }

(request_buff, request_len)

} ``