Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
e21f1e2057 | |||
23d476f853 | |||
81f2ae917d | |||
bb371c14be | |||
4dcaf21103 | |||
d22e4cfc10 | |||
52db5b4cba | |||
375013b22f | |||
c618436df6 | |||
994d39d348 | |||
f2862eb020 | |||
4bf70337d1 | |||
05cde266a5 | |||
663b6f285e |
39
.drone.yml
Normal file
39
.drone.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: fetch_dependencies
|
||||||
|
image: rust
|
||||||
|
volumes:
|
||||||
|
- name: rust_registry
|
||||||
|
path: /usr/local/cargo/registry
|
||||||
|
commands:
|
||||||
|
- cargo fetch
|
||||||
|
|
||||||
|
- name: code_quality
|
||||||
|
image: rust
|
||||||
|
volumes:
|
||||||
|
- name: rust_registry
|
||||||
|
path: /usr/local/cargo/registry
|
||||||
|
depends_on:
|
||||||
|
- fetch_dependencies
|
||||||
|
commands:
|
||||||
|
- rustup component add clippy
|
||||||
|
- cargo clippy -- -D warnings
|
||||||
|
|
||||||
|
- name: test
|
||||||
|
image: rust
|
||||||
|
volumes:
|
||||||
|
- name: rust_registry
|
||||||
|
path: /usr/local/cargo/registry
|
||||||
|
depends_on:
|
||||||
|
- code_quality
|
||||||
|
commands:
|
||||||
|
- cargo test
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: rust_registry
|
||||||
|
temp: {}
|
||||||
|
|
914
Cargo.lock
generated
914
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "hello_world_http"
|
name = "hello_world_http"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = {version = "4.5.9", features = ["derive", "env"]}
|
clap = {version = "4.5.40", features = ["derive", "env"]}
|
||||||
actix-web = "4"
|
actix-web = "4.11.0"
|
||||||
env_logger = "0.11.5"
|
env_logger = "0.11.8"
|
||||||
|
log = "0.4.27"
|
||||||
|
2
README.md
Normal file
2
README.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Hello World HTTP
|
||||||
|
Basic HTTP server written in Rust that spawns an HTTP server.
|
4
renovate.json
Normal file
4
renovate.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"extends": ["local>renovate/presets"]
|
||||||
|
}
|
||||||
|
|
20
src/main.rs
20
src/main.rs
@ -1,5 +1,5 @@
|
|||||||
use actix_web::middleware::Logger;
|
use actix_web::middleware::Logger;
|
||||||
use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder};
|
use actix_web::{App, HttpResponse, HttpServer, Responder, get, post, web};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use env_logger::Env;
|
use env_logger::Env;
|
||||||
|
|
||||||
@ -7,9 +7,9 @@ use env_logger::Env;
|
|||||||
#[derive(clap::Parser, Debug)]
|
#[derive(clap::Parser, Debug)]
|
||||||
#[command(version, about, long_about = None)]
|
#[command(version, about, long_about = None)]
|
||||||
struct Args {
|
struct Args {
|
||||||
/// Name of the person to greet
|
/// Listen address
|
||||||
#[arg(env, short, long, default_value = "0.0.0.0:8000")]
|
#[arg(env, short, long, default_value = "0.0.0.0:8000")]
|
||||||
listen_url: String,
|
listen_addr: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/")]
|
#[get("/")]
|
||||||
@ -32,6 +32,8 @@ async fn main() -> std::io::Result<()> {
|
|||||||
|
|
||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
|
|
||||||
|
log::info!("Starting to listen on {}", args.listen_addr);
|
||||||
|
|
||||||
HttpServer::new(|| {
|
HttpServer::new(|| {
|
||||||
App::new()
|
App::new()
|
||||||
.wrap(Logger::default())
|
.wrap(Logger::default())
|
||||||
@ -39,7 +41,17 @@ async fn main() -> std::io::Result<()> {
|
|||||||
.service(echo)
|
.service(echo)
|
||||||
.route("/hey", web::get().to(manual_hello))
|
.route("/hey", web::get().to(manual_hello))
|
||||||
})
|
})
|
||||||
.bind(args.listen_url)?
|
.bind(args.listen_addr)?
|
||||||
.run()
|
.run()
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use crate::Args;
|
||||||
|
#[test]
|
||||||
|
fn verify_cli() {
|
||||||
|
use clap::CommandFactory;
|
||||||
|
Args::command().debug_assert()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user