Compare commits

..

41 Commits

Author SHA1 Message Date
9f396f6f90 Merge pull request 'Update Rust crate clap to 4.5.48' () from renovate/clap-4.x into master 2025-09-21 00:44:15 +00:00
a315151dda Update Rust crate clap to 4.5.48 2025-09-20 00:40:34 +00:00
28581909a4 Merge pull request 'Update Rust crate actix-files to 0.6.8' () from renovate/actix-files-0.x into master 2025-09-17 00:39:29 +00:00
1fbf518b8a Update Rust crate actix-files to 0.6.8 2025-09-16 00:39:31 +00:00
ebd043f020 Merge pull request 'Update Rust crate log to 0.4.28' () from renovate/log-0.x into master 2025-09-05 00:24:58 +00:00
71811665c8 Update Rust crate log to 0.4.28 2025-09-04 00:32:29 +00:00
f70607f818 Merge pull request 'Update Rust crate clap to 4.5.47' () from renovate/clap-4.x into master 2025-09-04 00:32:26 +00:00
4e0f4d4521 Update Rust crate clap to 4.5.47 2025-09-03 00:31:06 +00:00
a1eedcbeb7 Merge pull request 'Update Rust crate actix-files to 0.6.7' () from renovate/actix-files-0.x into master 2025-08-31 00:30:09 +00:00
373f54e06e Update Rust crate actix-files to 0.6.7 2025-08-30 00:29:50 +00:00
52cca797da Fix cargo clippy issue 2025-08-28 08:09:58 +02:00
a75ef10f3c Merge pull request 'Update Rust crate clap to 4.5.46' () from renovate/clap-4.x into master 2025-08-28 00:31:34 +00:00
17598abdf4 Update Rust crate clap to 4.5.46 2025-08-27 00:31:19 +00:00
a9c0768ab4 Merge pull request 'Update Rust crate clap to 4.5.45' () from renovate/clap-4.x into master 2025-08-14 00:30:44 +00:00
13946ed35f Update Rust crate clap to 4.5.45 2025-08-13 00:31:14 +00:00
c92a337c60 Merge pull request 'Update Rust crate clap to 4.5.43' () from renovate/clap-4.x into master 2025-08-08 00:18:18 +00:00
2d4c3af291 Update Rust crate clap to 4.5.43 2025-08-07 00:18:45 +00:00
113c414f31 Merge pull request 'Update Rust crate clap to 4.5.41' () from renovate/clap-4.x into master 2025-07-31 00:17:53 +00:00
2a20aad6e1 Update Rust crate clap to 4.5.42 2025-07-31 00:17:50 +00:00
3fa2c3c530 Update Rust crate clap to 4.5.40 2025-06-10 00:24:08 +00:00
3b87d66a36 Update Rust crate clap to 4.5.39 2025-05-28 00:09:50 +00:00
8dca766f8e Update Rust crate futures-util to 0.3.31 2025-05-19 00:08:43 +00:00
7b74250c86 Update Rust crate actix-web to 4.11.0 2025-05-13 00:18:49 +00:00
2037576627 Update Rust crate clap to 4.5.38 2025-05-12 00:18:03 +00:00
46a40ef66a Update Rust crate clap to 4.5.37 2025-04-19 00:29:07 +00:00
b6dd41c4cc Update Rust crate clap to 4.5.36 2025-04-12 00:28:39 +00:00
48f9a79b05 Update Rust crate env_logger to 0.11.8 2025-04-03 00:36:28 +00:00
c25396d62a Update Rust crate clap to 4.5.35 2025-04-02 00:36:49 +00:00
431816900c Update Rust crate tar to 0.4.44 2025-03-31 20:52:17 +00:00
b07d8ae520 Update Rust crate log to 0.4.27 2025-03-31 00:36:23 +00:00
4b7db1f0ab Update Rust crate bytes to 1.10.1 2025-03-30 02:22:17 +00:00
c8a97be01b Update Rust crate actix-web to 4.10.2 2025-03-29 22:58:20 +00:00
c46cb5ee0e Update Rust crate actix-files to 0.6.6 2025-03-29 18:15:35 +00:00
7fd6c4085b Update renovate.json 2025-03-29 17:32:51 +00:00
3de1d25038 Update renovate.json 2025-03-29 13:01:28 +00:00
7bc2768c25 Cargo clippy 2025-03-28 17:05:36 +01:00
6172b36b26 Enable CI 2025-03-28 16:59:22 +01:00
8d0dabfe0e Merge pull request 'Update Rust crate clap to 3.1.18' () from renovate/clap-3.x into master
Reviewed-on: 
2022-06-13 07:25:04 +00:00
d123d9d09d Update Rust crate clap to 3.1.18 2022-05-12 00:16:39 +00:00
ef5c64805a Merge pull request 'Update Rust crate clap to 3.1.12' () from renovate/clap-3.x into master
Reviewed-on: 
2022-05-05 16:21:30 +00:00
drone
e0dff00925 Update Rust crate clap to 3.1.12 2022-04-23 00:16:47 +00:00
5 changed files with 1137 additions and 531 deletions

15
.drone.yml Normal file

@@ -0,0 +1,15 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: cargo_check
image: rust
commands:
- rustup component add clippy
- cargo clippy -- -D warnings
- cargo test

1606
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@@ -1,18 +1,18 @@
[package] [package]
name = "pages_server" name = "pages_server"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2024"
license = "GPL-3.0-only" license = "GPL-3.0-only"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
clap = { version = "3.1.8", features = ["derive", "env"] } clap = { version = "4.5.48", features = ["derive", "env"] }
actix-web = "4" actix-web = "4.11.0"
actix-files = "0.6" actix-files = "0.6.8"
actix-multipart = "0.4" actix-multipart = "0.7.2"
env_logger = "0.9.0" env_logger = "0.11.8"
log = "0.4" log = "0.4.28"
bytes = "1.1.0" bytes = "1.10.1"
futures-util = { version = "0.3.21", default-features = false, features = ["std"] } futures-util = { version = "0.3.31", default-features = false, features = ["std"] }
tar = "0.4.38" tar = "0.4.44"

@@ -1,3 +1,3 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json" "extends": ["local>renovate/presets"]
} }

@@ -3,10 +3,10 @@ use std::path::{Path, PathBuf};
use actix_files::{Files, NamedFile}; use actix_files::{Files, NamedFile};
use actix_multipart::Multipart; use actix_multipart::Multipart;
use actix_web::dev::{fn_service, ServiceRequest, ServiceResponse}; use actix_web::dev::{ServiceRequest, ServiceResponse, fn_service};
use actix_web::error::{ErrorBadRequest, ErrorInternalServerError, ErrorUnauthorized}; use actix_web::error::{ErrorBadRequest, ErrorInternalServerError, ErrorUnauthorized};
use actix_web::middleware::Logger; use actix_web::middleware::Logger;
use actix_web::{web, App, Error, HttpRequest, HttpResponse, HttpServer}; use actix_web::{App, Error, HttpRequest, HttpResponse, HttpServer, web};
use bytes::BufMut; use bytes::BufMut;
use clap::Parser; use clap::Parser;
use futures_util::TryStreamExt; use futures_util::TryStreamExt;
@@ -84,13 +84,12 @@ fn get_remote_ip(req: &HttpRequest, args: &Args) -> String {
let mut ip = req.peer_addr().unwrap().ip().to_string(); let mut ip = req.peer_addr().unwrap().ip().to_string();
// We check if the request comes from a trusted reverse proxy // We check if the request comes from a trusted reverse proxy
if let Some(proxy) = args.proxy_ip.as_ref() { if let Some(proxy) = args.proxy_ip.as_ref()
if match_ip(proxy, &ip) { && match_ip(proxy, &ip)
if let Some(header) = req.headers().get("X-Forwarded-For") { && let Some(header) = req.headers().get("X-Forwarded-For") {
let header: Vec<String> = header let header: Vec<String> = header
.to_str() .to_str()
.unwrap() .unwrap()
.to_string()
.split(',') .split(',')
.map(|f| f.to_string()) .map(|f| f.to_string())
.collect(); .collect();
@@ -99,8 +98,6 @@ fn get_remote_ip(req: &HttpRequest, args: &Args) -> String {
ip = header[0].to_string(); ip = header[0].to_string();
} }
} }
}
}
ip ip
} }
@@ -286,3 +283,13 @@ async fn main() -> std::io::Result<()> {
.run() .run()
.await .await
} }
#[cfg(test)]
mod test {
use crate::Args;
#[test]
fn verify_cli() {
use clap::CommandFactory;
Args::command().debug_assert()
}
}