Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. /*
  2. [dependencies]
  3. hyper = "0.12"
  4. pretty_env_logger = "0.2.0"
  5. env_logger = "0.6.1"
  6. reqwest = "0.9.18"
  7. log = "0.4.6"
  8. futures = "0.1.26"
  9. simple-server = "0.4.0"
  10. */
  11.  
  12. extern crate env_logger;
  13. #[macro_use]
  14. extern crate log;
  15.  
  16. extern crate simple_server;
  17.  
  18. use simple_server::Server;
  19. use std::str;
  20. use std::collections::BinaryHeap;
  21. use simple_server::Method;
  22.  
  23. fn main() {
  24. env_logger::init();
  25.  
  26. let mut heap : BinaryHeap<String> = BinaryHeap::new();
  27. assert_eq!(heap.peek(), None);
  28.  
  29. let host = "127.0.0.1";
  30. let port = "3000";
  31.  
  32. let server = Server::new(|request, mut response| {
  33. let (parts, body) = request.into_parts();
  34.  
  35. let body_str = str::from_utf8(&body).unwrap();
  36.  
  37. let out_str = {
  38. match &parts.method {
  39. &Method::PUT => {
  40. info!("Put method");
  41. heap.push(body_str.to_owned());
  42. }
  43. &Method::GET => {
  44. info!("Get method");
  45. }
  46. _ => {
  47. warn!("Unsupported method");
  48. }
  49. }
  50.  
  51. format!("Heap size: {}", heap.len())
  52. };
  53.  
  54. info!("Request received. {:?} {:?}", parts, body_str);
  55.  
  56. Ok(response.body(out_str.as_bytes().to_vec())?)
  57. });
  58.  
  59. println!("Starting server");
  60.  
  61. server.listen(host, port);
  62.  
  63. println!("Started listening");
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement