Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions assign4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/target
11 changes: 11 additions & 0 deletions assign4/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[package]
name = "actix"
version = "0.1.0"
authors = ["runner"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
actix-web = "2.0.0"
actix-rt = "1.0.0"
70 changes: 70 additions & 0 deletions assign4/src/main.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
// step 2
use actix_web::{
middleware, web, App, HttpRequest, HttpResponse, HttpServer, Responder, Result,
};

// Step 3
#[actix_rt::main]
async fn main() -> std::io::Result<()> {
// Step 4
HttpServer::new(|| {

// Step 6
App::new()
.service(web::resource("/").route(web::get().to(index)))
.service(web::resource("/about").route(web::get().to(about)))
.service(web::resource("/products").route(web::get().to(products)))
.service(web::resource("/contact").route(web::get().to(contact)))
.service(web::resource("/profile").route(web::get().to(profile)))
.service(web::resource("/settings").route(web::get().to(settings)))

})
.bind("127.0.0.1:8080")?
.run()
.await
}


// Step 5
async fn index() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/index.html")))
}

async fn about() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/about.html")))
}

async fn products() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/products.html")))
}

async fn contact() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/contact.html")))
}

async fn profile() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/profile.html")))
}

async fn settings() -> Result<HttpResponse> {

Ok(HttpResponse::Ok()
.content_type("text/html; charset=utf-8")
.body(include_str!("../static/settings.html")))
}

4 changes: 4 additions & 0 deletions assign4/static/about.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
<h3>About</h3>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nihil ipsa temporibus tempore suscipit consectetur expedita. Iste aliquid est recusandae ut ab at dolor, quo placeat voluptatem ipsum nobis, eum officiis!</p>
</div>
4 changes: 4 additions & 0 deletions assign4/static/contact.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
<h3>Contact Section</h3>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Reiciendis, aliquam quibusdam! Cumque nemo perferendis alias dolor debitis voluptatem asperiores quod itaque eligendi nisi veniam illo, a velit autem accusantium saepe.
</div>
3 changes: 3 additions & 0 deletions assign4/static/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div>
<h3>Welcome to the website</h3>
</div>
4 changes: 4 additions & 0 deletions assign4/static/products.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
<h3>Product Page</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quae doloremque, illo at, laudantium harum accusantium ad incidunt quod ratione libero dolorum praesentium sapiente maiores quo, autem error doloribus necessitatibus est?</p>
</div>
4 changes: 4 additions & 0 deletions assign4/static/profile.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
<h3>Profile Section</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus provident natus libero id blanditiis ut sequi, labore molestias. Iste facilis praesentium itaque molestiae totam mollitia ipsa error nesciunt ullam temporibus.</p>
</div>
4 changes: 4 additions & 0 deletions assign4/static/settings.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div>
<h3>Settings</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea fugit dolore, hic, ex doloremque possimus illo modi voluptate quidem, corrupti obcaecati laborum odit excepturi autem laudantium culpa adipisci totam! Dignissimos!</p>
</div>