Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- [dependencies]
- hyper = "0.12"
- pretty_env_logger = "0.2.0"
- env_logger = "0.6.1"
- reqwest = "0.9.18"
- log = "0.4.6"
- futures = "0.1.26"
- simple-server = "0.4.0"
- */
- extern crate env_logger;
- #[macro_use]
- extern crate log;
- extern crate simple_server;
- use simple_server::Server;
- use std::str;
- use std::collections::BinaryHeap;
- use simple_server::Method;
- fn main() {
- env_logger::init();
- let mut heap : BinaryHeap<String> = BinaryHeap::new();
- assert_eq!(heap.peek(), None);
- let host = "127.0.0.1";
- let port = "3000";
- let server = Server::new(|request, mut response| {
- let (parts, body) = request.into_parts();
- let body_str = str::from_utf8(&body).unwrap();
- let out_str = {
- match &parts.method {
- &Method::PUT => {
- info!("Put method");
- heap.push(body_str.to_owned());
- }
- &Method::GET => {
- info!("Get method");
- }
- _ => {
- warn!("Unsupported method");
- }
- }
- format!("Heap size: {}", heap.len())
- };
- info!("Request received. {:?} {:?}", parts, body_str);
- Ok(response.body(out_str.as_bytes().to_vec())?)
- });
- println!("Starting server");
- server.listen(host, port);
- println!("Started listening");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement