aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMelody Horn / boringcactus <melody@boringcactus.com>2021-06-12 20:54:43 -0600
committerMelody Horn / boringcactus <melody@boringcactus.com>2021-06-12 20:54:43 -0600
commitfcc13328ff82326d25e39504732701b27f894e22 (patch)
tree4292fa15d137f4c7daa80faeded62cc4e0b881ce
parent1a1af5d9241fe458e3e4cfd6e8c3128ba73348cd (diff)
downloadtosin-fcc13328ff82326d25e39504732701b27f894e22.tar.gz
tosin-fcc13328ff82326d25e39504732701b27f894e22.zip
add aspirational example
derived from the django tutorial
-rw-r--r--examples/tutorial01/main.rs13
-rw-r--r--examples/tutorial01/polls/mod.rs2
-rw-r--r--examples/tutorial01/polls/urls.rs7
-rw-r--r--examples/tutorial01/polls/views.rs5
4 files changed, 27 insertions, 0 deletions
diff --git a/examples/tutorial01/main.rs b/examples/tutorial01/main.rs
new file mode 100644
index 0000000..f460e96
--- /dev/null
+++ b/examples/tutorial01/main.rs
@@ -0,0 +1,13 @@
+use tosin::contrib::admin;
+use tosin::urls::Path;
+
+mod polls;
+
+pub const url_patterns: &[Path] = [
+ Path::Include { url: "polls/", content: polls::urls::url_patterns },
+ Path::Include { url: "admin/", content: admin::site::urls::url_patterns },
+];
+
+fn main() {
+ tosin::run_server(url_patterns);
+}
diff --git a/examples/tutorial01/polls/mod.rs b/examples/tutorial01/polls/mod.rs
new file mode 100644
index 0000000..fd1dad8
--- /dev/null
+++ b/examples/tutorial01/polls/mod.rs
@@ -0,0 +1,2 @@
+pub mod urls;
+pub mod views;
diff --git a/examples/tutorial01/polls/urls.rs b/examples/tutorial01/polls/urls.rs
new file mode 100644
index 0000000..e978920
--- /dev/null
+++ b/examples/tutorial01/polls/urls.rs
@@ -0,0 +1,7 @@
+use tosin::urls::Path;
+
+use super::views;
+
+pub const url_patterns: &[Path] = [
+ Path::View { url: "", view: views::index, name: "index" },
+];
diff --git a/examples/tutorial01/polls/views.rs b/examples/tutorial01/polls/views.rs
new file mode 100644
index 0000000..8678e97
--- /dev/null
+++ b/examples/tutorial01/polls/views.rs
@@ -0,0 +1,5 @@
+use tosin::http::{Request, Response};
+
+pub async fn index(request: Request) -> Response {
+ Response("Hello, world. You're at the polls index.")
+}