1
0
mirror of https://github.com/actix/actix-website synced 2025-06-29 16:24:58 +02:00

Adds to workspace to test all code actually functions.

This commit is contained in:
Cameron Dershem
2019-06-12 18:14:10 -04:00
parent a5f7e0d095
commit cbd27e7668
13 changed files with 160 additions and 0 deletions

View File

@ -0,0 +1,8 @@
[package]
name = "easy-form-handling"
version = "0.1.0"
edition = "2018"
[dependencies]
actix-web = "1.0"
serde = "1.0"

View File

@ -0,0 +1,35 @@
// <easy-form-handling>
use actix_web::{web, App, HttpResponse, HttpServer};
use serde::Deserialize;
#[derive(Deserialize)]
struct Register {
username: String,
country: String,
}
fn index() -> actix_web::Result<HttpResponse> {
Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/form.html")))
}
fn register(params: web::Form<Register>) -> actix_web::Result<HttpResponse> {
Ok(HttpResponse::Ok().body(format!(
"Hello {} from {}!",
params.username, params.country
)))
}
fn main() {
HttpServer::new(|| {
App::new()
.route("/", web::get().to(index))
.route("/register", web::post().to(register))
})
.bind("127.0.0.1:8000")
.expect("Can not bind to port 8000")
.run()
.unwrap();
}
// </easy-form-handling>

View File

@ -0,0 +1,30 @@
<!doctype htmtl>
<html>
<head>
<meta charset=utf-8>
<title>Forms</title>
</head>
<body>
<h3>Will hit handle_post_1</h3>
<form action=/register method=POST>
<label>
Name:
<input name="username">
</label>
<label>
Country:
<input name="country">
</label>
<button type=submit>Submit</button>
</form>
<hr>
</body>
</html>