Update webserver

This commit is contained in:
MTRNord 2022-12-06 15:09:02 +01:00
parent 9f6768e90e
commit 9673c20342
3 changed files with 97 additions and 53 deletions

122
Cargo.lock generated
View File

@ -41,7 +41,7 @@ dependencies = [
[[package]]
name = "askama"
version = "0.11.2"
source = "git+https://github.com/djc/askama.git?branch=main#e1da15beef5d1fec8451d70e2bc31a8151137e9e"
source = "git+https://github.com/djc/askama.git?rev=eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e#eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"
dependencies = [
"askama_derive",
"askama_escape",
@ -53,7 +53,7 @@ dependencies = [
[[package]]
name = "askama_axum"
version = "0.1.0"
source = "git+https://github.com/djc/askama.git?branch=main#e1da15beef5d1fec8451d70e2bc31a8151137e9e"
source = "git+https://github.com/djc/askama.git?rev=eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e#eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"
dependencies = [
"askama",
"axum-core",
@ -63,7 +63,7 @@ dependencies = [
[[package]]
name = "askama_derive"
version = "0.12.0"
source = "git+https://github.com/djc/askama.git?branch=main#e1da15beef5d1fec8451d70e2bc31a8151137e9e"
source = "git+https://github.com/djc/askama.git?rev=eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e#eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"
dependencies = [
"mime",
"mime_guess",
@ -78,13 +78,13 @@ dependencies = [
[[package]]
name = "askama_escape"
version = "0.10.3"
source = "git+https://github.com/djc/askama.git?branch=main#e1da15beef5d1fec8451d70e2bc31a8151137e9e"
source = "git+https://github.com/djc/askama.git?rev=eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e#eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"
[[package]]
name = "async-trait"
version = "0.1.58"
version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c"
checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364"
dependencies = [
"proc-macro2",
"quote",
@ -99,9 +99,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "axum"
version = "0.5.17"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
checksum = "08b108ad2665fa3f6e6a517c3d80ec3e77d224c47d605167aefaa5d7ef97fa48"
dependencies = [
"async-trait",
"axum-core",
@ -117,8 +117,10 @@ dependencies = [
"mime",
"percent-encoding",
"pin-project-lite",
"rustversion",
"serde",
"serde_json",
"serde_path_to_error",
"serde_urlencoded",
"sync_wrapper",
"tokio",
@ -130,9 +132,9 @@ dependencies = [
[[package]]
name = "axum-auth"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9770f9a9147b2324066609acb5495538cb25f973129663fba2658ba7ed69407"
checksum = "620b37645b77baab8160f93421568d7b3dd25da0a160fab38eb1c4ef611f6d98"
dependencies = [
"async-trait",
"axum-core",
@ -142,9 +144,9 @@ dependencies = [
[[package]]
name = "axum-core"
version = "0.2.9"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
checksum = "79b8558f5a0581152dc94dcd289132a1d377494bdeafcd41869b3258e3e2ad92"
dependencies = [
"async-trait",
"bytes",
@ -152,10 +154,23 @@ dependencies = [
"http",
"http-body",
"mime",
"rustversion",
"tower-layer",
"tower-service",
]
[[package]]
name = "axum-macros"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4df0fc33ada14a338b799002f7e8657711422b25d4e16afb032708d6b185621"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "backtrace"
version = "0.3.66"
@ -166,7 +181,7 @@ dependencies = [
"cc",
"cfg-if",
"libc",
"miniz_oxide",
"miniz_oxide 0.5.4",
"object",
"rustc-demangle",
]
@ -411,12 +426,12 @@ dependencies = [
[[package]]
name = "flate2"
version = "1.0.24"
version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
dependencies = [
"crc32fast",
"miniz_oxide",
"miniz_oxide 0.6.2",
]
[[package]]
@ -489,6 +504,12 @@ version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]]
name = "heck"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
[[package]]
name = "hermit-abi"
version = "0.1.19"
@ -608,9 +629,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.137"
version = "0.2.138"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
[[package]]
name = "libm"
@ -669,9 +690,9 @@ dependencies = [
[[package]]
name = "matchit"
version = "0.5.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
[[package]]
name = "memchr"
@ -710,6 +731,15 @@ dependencies = [
"adler",
]
[[package]]
name = "miniz_oxide"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
dependencies = [
"adler",
]
[[package]]
name = "mio"
version = "0.8.5"
@ -730,6 +760,7 @@ dependencies = [
"askama_axum",
"axum",
"axum-auth",
"axum-macros",
"color-eyre",
"linkify",
"once_cell",
@ -820,9 +851,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-sys"
version = "0.9.77"
version = "0.9.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a"
checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4"
dependencies = [
"autocfg",
"cc",
@ -855,9 +886,9 @@ dependencies = [
[[package]]
name = "parking_lot_core"
version = "0.9.4"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
dependencies = [
"cfg-if",
"libc",
@ -1064,18 +1095,18 @@ checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
[[package]]
name = "serde"
version = "1.0.147"
version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.147"
version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852"
checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4"
dependencies = [
"proc-macro2",
"quote",
@ -1104,6 +1135,15 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_path_to_error"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "184c643044780f7ceb59104cef98a5a6f12cb2288a7bc701ab93a362b49fd47d"
dependencies = [
"serde",
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@ -1190,9 +1230,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
[[package]]
name = "syn"
version = "1.0.103"
version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
dependencies = [
"proc-macro2",
"quote",
@ -1297,9 +1337,9 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.22.0"
version = "1.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46"
dependencies = [
"autocfg",
"bytes",
@ -1312,14 +1352,14 @@ dependencies = [
"signal-hook-registry",
"socket2",
"tokio-macros",
"winapi",
"windows-sys 0.42.0",
]
[[package]]
name = "tokio-macros"
version = "1.8.0"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
dependencies = [
"proc-macro2",
"quote",
@ -1353,9 +1393,9 @@ dependencies = [
[[package]]
name = "tower-http"
version = "0.3.4"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
dependencies = [
"bitflags",
"bytes",
@ -1463,9 +1503,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "typenum"
version = "1.15.0"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "unicase"
@ -1705,9 +1745,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
version = "2.0.2+zstd.1.5.2"
version = "2.0.4+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24faa29d97c8ddca9b37b680e3bd2d5439d864a9cac3a0640d086b71c908bb83"
checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0"
dependencies = [
"cc",
"libc",

View File

@ -7,20 +7,21 @@ version = "0.1.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
axum = "0.5.16"
axum-auth = {version = "0.3", default-features = false, features = ["auth-bearer"]}
axum = "0.6.1"
axum-macros = "0.3.0"
axum-auth = {version = "0.4.0", default-features = false, features = ["auth-bearer"]}
color-eyre = "0.6.2"
linkify = "0.9.0"
once_cell = "1.15.0"
serde = {version = "1.0", features = ["derive"]}
serde_json = "1.0"
serde = {version = "1.0.149", features = ["derive"]}
serde_json = "1.0.89"
#tensorflow = {version = "0.19.1", features = ["tensorflow_gpu"]}
askama = {git = "https://github.com/djc/askama.git", branch = "main"}
askama_axum = {git = "https://github.com/djc/askama.git", branch = "main"}
askama = {git = "https://github.com/djc/askama.git", rev = "eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"}
askama_axum = {git = "https://github.com/djc/askama.git", rev = "eeec6f0654f32270aec4e4a0d0f42e4ad39bc28e"}
tensorflow = {version = "0.19.1"}
tokio = {version = "1.0", features = ["full"]}
tracing = "0.1"
tracing-subscriber = {version = "0.3", features = ["env-filter"]}
tokio = {version = "1.23.0", features = ["full"]}
tracing = "0.1.37"
tracing-subscriber = {version = "0.3.16", features = ["env-filter"]}
voca_rs = "1.14.0"
[dev-dependencies]

View File

@ -2,12 +2,13 @@ use askama_axum::Template;
use axum::routing::get;
use axum::{http::StatusCode, response::IntoResponse, routing::post, Json, Router};
use axum_auth::AuthBearer;
use axum_macros::debug_handler;
use color_eyre::eyre::{bail, Result};
use linkify::LinkFinder;
use once_cell::sync::OnceCell;
use serde::{Deserialize, Serialize};
use std::io::Write;
use std::net::{Ipv4Addr, Ipv6Addr};
use std::net::Ipv6Addr;
use std::{fs::OpenOptions, net::SocketAddr};
use tensorflow::{Graph, SavedModelBundle, SessionOptions, SessionRunArgs, Tensor};
use tracing::{error, info};
@ -103,9 +104,10 @@ async fn test(Json(payload): Json<TestData>) -> impl IntoResponse {
(StatusCode::OK, Json(response))
}
#[debug_handler]
async fn submit(
Json(payload): Json<SubmitData>,
AuthBearer(token): AuthBearer,
Json(payload): Json<SubmitData>,
) -> impl IntoResponse {
let access_token = match std::env::var("ACCESS_TOKEN") {
Ok(val) => val,
@ -122,9 +124,10 @@ async fn submit(
StatusCode::NOT_IMPLEMENTED
}
#[debug_handler]
async fn submit_for_review(
Json(payload): Json<SubmitReview>,
AuthBearer(token): AuthBearer,
Json(payload): Json<SubmitReview>,
) -> impl IntoResponse {
let access_token = match std::env::var("ACCESS_TOKEN") {
Ok(val) => val,