Skip to content

Instantly share code, notes, and snippets.

@fafhrd91
Created January 2, 2018 23:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fafhrd91/a2ec5c38b9476312a3edb4ff7274ec5d to your computer and use it in GitHub Desktop.
Save fafhrd91/a2ec5c38b9476312a3edb4ff7274ec5d to your computer and use it in GitHub Desktop.
extern crate actix;
extern crate actix_web;
extern crate env_logger;
extern crate futures;
extern crate serde_json;
#[macro_use] extern crate serde_derive;
use actix_web::*;
use futures::Future;
#[derive(Serialize, Debug)]
pub struct User {
pub id: i32,
pub name: String,
}
const DATA: [(i32, &'static str); 56] = [
(1, "rabbit"),
(2, "rabbit"),
(3, "rabbit"),
(4, "rabbit"),
(5, "Glade"),
(6, "Glade"),
(7, "Gladesssssssssssssssss"),
(8, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(9, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(10, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(11, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(12, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(13, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(14, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(15, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(16, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(17, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(18, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(19, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(20, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(21, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(22, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(23, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(24, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(25, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(26, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(27, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(28, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(29, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(30, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(31, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(33, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(34, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(35, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(36, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(37, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(38, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(39, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(40, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(41, "GladesssssssssssssssssGladesssssssssssssssssGlades"),
(42, "Gladesssssssssssssssss"),
(43, "Gladesssssssssssssssss"),
(44, "Gladesssssssssssssssss"),
(45, "Gladesssssssssssssssss"),
(46, "Gladesssssssssssssssss"),
(47, "Gladesssssssssssssssss"),
(48, "Gladesssssssssssssssss"),
(49, "Gladesssssssssssssssss"),
(50, "Gladesssssssssssssssss"),
(51, "Gladesssssssssssssssss"),
(52, "Gladesssssssssssssssss"),
(53, "Gladesssssssssssssssss"),
(54, "Gladesssssssssssssssss"),
(55, "Gladessssss* Connection #0 to host localhost left intactsssssssssss"),
(56, "Gladesssssssssssssssss"),
(57, "Gladesssssssssssssssss"),
];
fn index(_req: HttpRequest) -> Box<Future<Item = HttpResponse, Error = Error>> {
let mut users: Vec<User> = Vec::new();
for item in DATA.iter() {
users.push(User{id: item.0, name: item.1.to_owned()})
}
Box::new(futures::future::ok(httpcodes::HTTPOk.build().chunked().json(users).unwrap()))
}
fn main() {
::std::env::set_var("RUST_LOG", "actix_web=info");
let _ = env_logger::init();
let sys = actix::System::new("ws-example");
let _addr = HttpServer::new(
|| Application::new()
// enable logger
.middleware(middleware::Logger::default())
.resource("/", |r| r.f(index)))
.bind("127.0.0.1:8080").unwrap()
.start();
println!("Started http server: 127.0.0.1:8080");
let _ = sys.run();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment