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]
|
||||
name = "hello_world_http"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
clap = {version = "4.5.9", features = ["derive", "env"]}
|
||||
actix-web = "4"
|
||||
env_logger = "0.11.5"
|
||||
clap = {version = "4.5.40", features = ["derive", "env"]}
|
||||
actix-web = "4.11.0"
|
||||
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::{get, post, web, App, HttpResponse, HttpServer, Responder};
|
||||
use actix_web::{App, HttpResponse, HttpServer, Responder, get, post, web};
|
||||
use clap::Parser;
|
||||
use env_logger::Env;
|
||||
|
||||
@ -7,9 +7,9 @@ use env_logger::Env;
|
||||
#[derive(clap::Parser, Debug)]
|
||||
#[command(version, about, long_about = None)]
|
||||
struct Args {
|
||||
/// Name of the person to greet
|
||||
/// Listen address
|
||||
#[arg(env, short, long, default_value = "0.0.0.0:8000")]
|
||||
listen_url: String,
|
||||
listen_addr: String,
|
||||
}
|
||||
|
||||
#[get("/")]
|
||||
@ -32,6 +32,8 @@ async fn main() -> std::io::Result<()> {
|
||||
|
||||
let args = Args::parse();
|
||||
|
||||
log::info!("Starting to listen on {}", args.listen_addr);
|
||||
|
||||
HttpServer::new(|| {
|
||||
App::new()
|
||||
.wrap(Logger::default())
|
||||
@ -39,7 +41,17 @@ async fn main() -> std::io::Result<()> {
|
||||
.service(echo)
|
||||
.route("/hey", web::get().to(manual_hello))
|
||||
})
|
||||
.bind(args.listen_url)?
|
||||
.bind(args.listen_addr)?
|
||||
.run()
|
||||
.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