Advertisement
Guest User

Untitled

a guest
Mar 6th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. #![feature(proc_macro_hygiene, decl_macro)]
  2. #[macro_use]
  3. extern crate rocket;
  4. #[macro_use]
  5. extern crate rocket_contrib;
  6. #[macro_use]
  7. extern crate serde_derive;
  8.  
  9. use rocket_contrib::json::{Json, JsonValue};
  10.  
  11. #[derive(Deserialize)]
  12. struct RegisterData {
  13. username: String,
  14. password: String,
  15. email: String,
  16. }
  17.  
  18. #[post("/register", format = "json", data = "<data>")]
  19. fn register(data: Json<RegisterData> ) -> JsonValue {
  20. json!({"success": data.email})
  21. }
  22.  
  23. #[derive(Deserialize)]
  24. struct LoginData {
  25. username: String,
  26. password: String,
  27. }
  28.  
  29. #[post("/login", format = "json", data="<data>")]
  30. fn login(data: Json<LoginData> ) -> JsonValue {
  31. json!({"success": data.username})
  32. }
  33.  
  34. #[post("/logout")]
  35. fn logout() -> JsonValue {
  36. json!({"success": true})
  37. }
  38.  
  39. fn main() {
  40. let mut rocket = rocket::ignite();
  41. rocket = rocket.mount("/api/v1/auth", routes![register, login, logout]);
  42. rocket.launch();
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement