This commit is contained in:
commit
c06afde7cb
4 changed files with 54 additions and 19 deletions
41
Cargo.lock
generated
41
Cargo.lock
generated
|
|
@ -44,6 +44,7 @@ dependencies = [
|
|||
"sha256",
|
||||
"sqlx",
|
||||
"thiserror",
|
||||
"time",
|
||||
"tokio",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
|
|
@ -784,9 +785,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
version = "0.3.11"
|
||||
version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
|
||||
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
|
||||
dependencies = [
|
||||
"powerfmt",
|
||||
]
|
||||
|
|
@ -2181,9 +2182,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "num-conv"
|
||||
version = "0.1.0"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
|
||||
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
|
|
@ -3198,18 +3199,28 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.219"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
|
||||
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
||||
dependencies = [
|
||||
"serde_core",
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_core"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.219"
|
||||
version = "1.0.228"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
||||
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -3729,30 +3740,30 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.37"
|
||||
version = "0.3.47"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21"
|
||||
checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
"num-conv",
|
||||
"powerfmt",
|
||||
"serde",
|
||||
"serde_core",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
version = "0.1.2"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.19"
|
||||
version = "0.2.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de"
|
||||
checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ p256 = "0.13.2"
|
|||
k256 = "0.13.4"
|
||||
dsa = "0.6.3"
|
||||
openssl = "0.10.78"
|
||||
time = "0.3.47"
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -116,8 +116,8 @@ async fn launch() -> _ {
|
|||
EmptySubscription::new())
|
||||
)
|
||||
.attach(AdHoc::on_response("org", |_, response| Box::pin(async move {
|
||||
//response.adjoin_header(Header::new("x-organization", "Nintendo"));
|
||||
response.adjoin_header(Header::new("x-nintendo-date", SystemTime::now()
|
||||
response.adjoin_header(Header::new("x-organization", "Nintendo"));
|
||||
response.adjoin_header(Header::new("X-Nintendo-Date", SystemTime::now()
|
||||
.duration_since(UNIX_EPOCH)
|
||||
.unwrap()
|
||||
.as_millis()
|
||||
|
|
|
|||
|
|
@ -2,6 +2,12 @@ use rocket::{get, State};
|
|||
use serde::Serialize;
|
||||
use crate::Pool;
|
||||
use crate::xml::Xml;
|
||||
use std::io::Cursor;
|
||||
|
||||
use rocket::{Request, response::{Responder, Response}};
|
||||
use rocket::http::Header;
|
||||
use time::{OffsetDateTime, Time};
|
||||
use time::format_description::well_known::Rfc2822;
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename = "mapped_id")]
|
||||
|
|
@ -21,6 +27,23 @@ struct UserIdAndName {
|
|||
username: String,
|
||||
}
|
||||
|
||||
pub struct TimeResponse;
|
||||
|
||||
#[rocket::async_trait]
|
||||
impl<'r> Responder<'r, 'static> for TimeResponse {
|
||||
fn respond_to(self, _req: &'r Request<'_>) -> rocket::response::Result<'static> {
|
||||
let now = OffsetDateTime::now_utc()
|
||||
.format(&Rfc2822)
|
||||
.unwrap()
|
||||
.replace("+0000", "GMT");
|
||||
|
||||
Response::build()
|
||||
.header(Header::new("Date", now))
|
||||
.sized_body(0, Cursor::new(""))
|
||||
.ok()
|
||||
}
|
||||
}
|
||||
|
||||
#[get("/v1/api/admin/mapped_ids?<input_type>&<output_type>&<input>")]
|
||||
pub async fn mapped_ids(pool: &State<Pool>, input_type: String, output_type: String, input: String) -> Option<Xml<MappedIds>> {
|
||||
let pool = pool.inner();
|
||||
|
|
@ -83,6 +106,6 @@ pub async fn mapped_ids(pool: &State<Pool>, input_type: String, output_type: Str
|
|||
}
|
||||
|
||||
#[get("/v1/api/admin/time")]
|
||||
pub fn get_time() {
|
||||
// stubbed, it only needs the header.
|
||||
pub fn get_time() -> TimeResponse {
|
||||
TimeResponse
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue