Gisle Aune
2 years ago
8 changed files with 1090 additions and 9 deletions
-
15.drone.yml
-
16compiler/src/main.rs
-
6compiler/src/output.rs
-
1src/rust/namegen-lambda/.gitignore
-
938src/rust/namegen-lambda/Cargo.lock
-
26src/rust/namegen-lambda/Cargo.toml
-
1src/rust/namegen-lambda/names.json
-
88src/rust/namegen-lambda/src/main.rs
@ -0,0 +1 @@ |
|||||
|
/target |
@ -0,0 +1,938 @@ |
|||||
|
# This file is automatically @generated by Cargo. |
||||
|
# It is not intended for manual editing. |
||||
|
version = 3 |
||||
|
|
||||
|
[[package]] |
||||
|
name = "android_system_properties" |
||||
|
version = "0.1.4" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" |
||||
|
dependencies = [ |
||||
|
"libc", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "async-stream" |
||||
|
version = "0.3.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" |
||||
|
dependencies = [ |
||||
|
"async-stream-impl", |
||||
|
"futures-core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "async-stream-impl" |
||||
|
version = "0.3.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "autocfg" |
||||
|
version = "1.1.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "aws_lambda_events" |
||||
|
version = "0.6.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "55d7e5deac5e49330042b4e174dafe84ebf71685bfcd94f285bac7aa31e0aeb1" |
||||
|
dependencies = [ |
||||
|
"base64", |
||||
|
"bytes", |
||||
|
"chrono", |
||||
|
"http", |
||||
|
"http-body", |
||||
|
"http-serde", |
||||
|
"query_map", |
||||
|
"serde", |
||||
|
"serde_derive", |
||||
|
"serde_json", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "base64" |
||||
|
version = "0.13.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "bumpalo" |
||||
|
version = "3.11.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "bytes" |
||||
|
version = "1.2.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" |
||||
|
dependencies = [ |
||||
|
"serde", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "cfg-if" |
||||
|
version = "1.0.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "chrono" |
||||
|
version = "0.4.22" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" |
||||
|
dependencies = [ |
||||
|
"iana-time-zone", |
||||
|
"js-sys", |
||||
|
"num-integer", |
||||
|
"num-traits", |
||||
|
"serde", |
||||
|
"time", |
||||
|
"wasm-bindgen", |
||||
|
"winapi", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "core-foundation-sys" |
||||
|
version = "0.8.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "encoding_rs" |
||||
|
version = "0.8.31" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" |
||||
|
dependencies = [ |
||||
|
"cfg-if", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "fnv" |
||||
|
version = "1.0.7" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "form_urlencoded" |
||||
|
version = "1.0.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" |
||||
|
dependencies = [ |
||||
|
"matches", |
||||
|
"percent-encoding", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "futures-channel" |
||||
|
version = "0.3.23" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "2bfc52cbddcfd745bf1740338492bb0bd83d76c67b445f91c5fb29fae29ecaa1" |
||||
|
dependencies = [ |
||||
|
"futures-core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "futures-core" |
||||
|
version = "0.3.23" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d2acedae88d38235936c3922476b10fced7b2b68136f5e3c03c2d5be348a1115" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "futures-task" |
||||
|
version = "0.3.23" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "842fc63b931f4056a24d59de13fb1272134ce261816e063e634ad0c15cdc5306" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "futures-util" |
||||
|
version = "0.3.23" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "f0828a5471e340229c11c77ca80017937ce3c58cb788a17e5f1c2d5c485a9577" |
||||
|
dependencies = [ |
||||
|
"futures-core", |
||||
|
"futures-task", |
||||
|
"pin-project-lite", |
||||
|
"pin-utils", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "getrandom" |
||||
|
version = "0.1.16" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" |
||||
|
dependencies = [ |
||||
|
"cfg-if", |
||||
|
"js-sys", |
||||
|
"libc", |
||||
|
"wasi 0.9.0+wasi-snapshot-preview1", |
||||
|
"wasm-bindgen", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "hermit-abi" |
||||
|
version = "0.1.19" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" |
||||
|
dependencies = [ |
||||
|
"libc", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "http" |
||||
|
version = "0.2.8" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" |
||||
|
dependencies = [ |
||||
|
"bytes", |
||||
|
"fnv", |
||||
|
"itoa", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "http-body" |
||||
|
version = "0.4.5" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" |
||||
|
dependencies = [ |
||||
|
"bytes", |
||||
|
"http", |
||||
|
"pin-project-lite", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "http-serde" |
||||
|
version = "1.1.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "6d98b3d9662de70952b14c4840ee0f37e23973542a363e2275f4b9d024ff6cca" |
||||
|
dependencies = [ |
||||
|
"http", |
||||
|
"serde", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "httparse" |
||||
|
version = "1.7.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "httpdate" |
||||
|
version = "1.0.2" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "hyper" |
||||
|
version = "0.14.20" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" |
||||
|
dependencies = [ |
||||
|
"bytes", |
||||
|
"futures-channel", |
||||
|
"futures-core", |
||||
|
"futures-util", |
||||
|
"http", |
||||
|
"http-body", |
||||
|
"httparse", |
||||
|
"httpdate", |
||||
|
"itoa", |
||||
|
"pin-project-lite", |
||||
|
"socket2", |
||||
|
"tokio", |
||||
|
"tower-service", |
||||
|
"tracing", |
||||
|
"want", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "iana-time-zone" |
||||
|
version = "0.1.46" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501" |
||||
|
dependencies = [ |
||||
|
"android_system_properties", |
||||
|
"core-foundation-sys", |
||||
|
"js-sys", |
||||
|
"wasm-bindgen", |
||||
|
"winapi", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "itoa" |
||||
|
version = "1.0.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "js-sys" |
||||
|
version = "0.3.59" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" |
||||
|
dependencies = [ |
||||
|
"wasm-bindgen", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "lambda_http" |
||||
|
version = "0.6.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "a540048486ccfaa407ef7d2b50b7ff7b8c18abfbf351731a4ff7ccd165fc43fa" |
||||
|
dependencies = [ |
||||
|
"aws_lambda_events", |
||||
|
"base64", |
||||
|
"bytes", |
||||
|
"encoding_rs", |
||||
|
"http", |
||||
|
"http-body", |
||||
|
"hyper", |
||||
|
"lambda_runtime", |
||||
|
"mime", |
||||
|
"query_map", |
||||
|
"serde", |
||||
|
"serde_json", |
||||
|
"serde_urlencoded", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "lambda_runtime" |
||||
|
version = "0.6.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "76cf2e2a435d327806e7c8d46d341d624a6a2e3b35b253eee44d1c89980451be" |
||||
|
dependencies = [ |
||||
|
"async-stream", |
||||
|
"bytes", |
||||
|
"http", |
||||
|
"hyper", |
||||
|
"lambda_runtime_api_client", |
||||
|
"serde", |
||||
|
"serde_json", |
||||
|
"tokio", |
||||
|
"tokio-stream", |
||||
|
"tower", |
||||
|
"tracing", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "lambda_runtime_api_client" |
||||
|
version = "0.6.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "b54698c666ffe503cb51fa66e4567e53e806128a10359de7095999d925a771ed" |
||||
|
dependencies = [ |
||||
|
"http", |
||||
|
"hyper", |
||||
|
"tokio", |
||||
|
"tower-service", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "lazy_static" |
||||
|
version = "1.4.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "libc" |
||||
|
version = "0.2.132" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "log" |
||||
|
version = "0.4.17" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" |
||||
|
dependencies = [ |
||||
|
"cfg-if", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "matches" |
||||
|
version = "0.1.9" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "memchr" |
||||
|
version = "2.5.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "mime" |
||||
|
version = "0.3.16" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "mio" |
||||
|
version = "0.8.4" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" |
||||
|
dependencies = [ |
||||
|
"libc", |
||||
|
"log", |
||||
|
"wasi 0.11.0+wasi-snapshot-preview1", |
||||
|
"windows-sys", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "namegen" |
||||
|
version = "0.1.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5e734aa49099b0a090acd6f8d0d4f7c408d41e2ce529bd1faae21ad4bab65ae3" |
||||
|
dependencies = [ |
||||
|
"rand", |
||||
|
"serde", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "namegen_lambda" |
||||
|
version = "0.1.0" |
||||
|
dependencies = [ |
||||
|
"lambda_http", |
||||
|
"lambda_runtime", |
||||
|
"namegen", |
||||
|
"serde", |
||||
|
"serde_derive", |
||||
|
"serde_json", |
||||
|
"tokio", |
||||
|
"tracing", |
||||
|
"tracing-subscriber", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "num-integer" |
||||
|
version = "0.1.45" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" |
||||
|
dependencies = [ |
||||
|
"autocfg", |
||||
|
"num-traits", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "num-traits" |
||||
|
version = "0.2.15" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" |
||||
|
dependencies = [ |
||||
|
"autocfg", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "num_cpus" |
||||
|
version = "1.13.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" |
||||
|
dependencies = [ |
||||
|
"hermit-abi", |
||||
|
"libc", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "once_cell" |
||||
|
version = "1.13.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "percent-encoding" |
||||
|
version = "2.1.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "pin-project" |
||||
|
version = "1.0.12" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" |
||||
|
dependencies = [ |
||||
|
"pin-project-internal", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "pin-project-internal" |
||||
|
version = "1.0.12" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "pin-project-lite" |
||||
|
version = "0.2.9" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "pin-utils" |
||||
|
version = "0.1.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "ppv-lite86" |
||||
|
version = "0.2.16" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "proc-macro2" |
||||
|
version = "1.0.43" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" |
||||
|
dependencies = [ |
||||
|
"unicode-ident", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "query_map" |
||||
|
version = "0.5.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "fe3212d819cbdcce67f786cdaf3fe0c2e9d09a6dcd9c9367a1bd344135b8c809" |
||||
|
dependencies = [ |
||||
|
"form_urlencoded", |
||||
|
"serde", |
||||
|
"serde_derive", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "quote" |
||||
|
version = "1.0.21" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "rand" |
||||
|
version = "0.7.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" |
||||
|
dependencies = [ |
||||
|
"getrandom", |
||||
|
"libc", |
||||
|
"rand_chacha", |
||||
|
"rand_core", |
||||
|
"rand_hc", |
||||
|
"rand_pcg", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "rand_chacha" |
||||
|
version = "0.2.2" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" |
||||
|
dependencies = [ |
||||
|
"ppv-lite86", |
||||
|
"rand_core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "rand_core" |
||||
|
version = "0.5.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" |
||||
|
dependencies = [ |
||||
|
"getrandom", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "rand_hc" |
||||
|
version = "0.2.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" |
||||
|
dependencies = [ |
||||
|
"rand_core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "rand_pcg" |
||||
|
version = "0.2.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" |
||||
|
dependencies = [ |
||||
|
"rand_core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "ryu" |
||||
|
version = "1.0.11" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "serde" |
||||
|
version = "1.0.143" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553" |
||||
|
dependencies = [ |
||||
|
"serde_derive", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "serde_derive" |
||||
|
version = "1.0.143" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "serde_json" |
||||
|
version = "1.0.83" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7" |
||||
|
dependencies = [ |
||||
|
"itoa", |
||||
|
"ryu", |
||||
|
"serde", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "serde_urlencoded" |
||||
|
version = "0.7.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" |
||||
|
dependencies = [ |
||||
|
"form_urlencoded", |
||||
|
"itoa", |
||||
|
"ryu", |
||||
|
"serde", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "sharded-slab" |
||||
|
version = "0.1.4" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" |
||||
|
dependencies = [ |
||||
|
"lazy_static", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "socket2" |
||||
|
version = "0.4.4" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" |
||||
|
dependencies = [ |
||||
|
"libc", |
||||
|
"winapi", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "syn" |
||||
|
version = "1.0.99" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"unicode-ident", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "thread_local" |
||||
|
version = "1.1.4" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" |
||||
|
dependencies = [ |
||||
|
"once_cell", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "time" |
||||
|
version = "0.1.44" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" |
||||
|
dependencies = [ |
||||
|
"libc", |
||||
|
"wasi 0.10.0+wasi-snapshot-preview1", |
||||
|
"winapi", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tokio" |
||||
|
version = "1.20.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" |
||||
|
dependencies = [ |
||||
|
"autocfg", |
||||
|
"bytes", |
||||
|
"libc", |
||||
|
"memchr", |
||||
|
"mio", |
||||
|
"num_cpus", |
||||
|
"once_cell", |
||||
|
"pin-project-lite", |
||||
|
"socket2", |
||||
|
"tokio-macros", |
||||
|
"winapi", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tokio-macros" |
||||
|
version = "1.8.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tokio-stream" |
||||
|
version = "0.1.9" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" |
||||
|
dependencies = [ |
||||
|
"futures-core", |
||||
|
"pin-project-lite", |
||||
|
"tokio", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tower" |
||||
|
version = "0.4.13" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" |
||||
|
dependencies = [ |
||||
|
"futures-core", |
||||
|
"futures-util", |
||||
|
"pin-project", |
||||
|
"pin-project-lite", |
||||
|
"tower-layer", |
||||
|
"tower-service", |
||||
|
"tracing", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tower-layer" |
||||
|
version = "0.3.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tower-service" |
||||
|
version = "0.3.2" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tracing" |
||||
|
version = "0.1.36" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" |
||||
|
dependencies = [ |
||||
|
"cfg-if", |
||||
|
"log", |
||||
|
"pin-project-lite", |
||||
|
"tracing-attributes", |
||||
|
"tracing-core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tracing-attributes" |
||||
|
version = "0.1.22" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tracing-core" |
||||
|
version = "0.1.29" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" |
||||
|
dependencies = [ |
||||
|
"once_cell", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "tracing-subscriber" |
||||
|
version = "0.3.15" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" |
||||
|
dependencies = [ |
||||
|
"sharded-slab", |
||||
|
"thread_local", |
||||
|
"tracing-core", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "try-lock" |
||||
|
version = "0.2.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "unicode-ident" |
||||
|
version = "1.0.3" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "want" |
||||
|
version = "0.3.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" |
||||
|
dependencies = [ |
||||
|
"log", |
||||
|
"try-lock", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasi" |
||||
|
version = "0.9.0+wasi-snapshot-preview1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasi" |
||||
|
version = "0.10.0+wasi-snapshot-preview1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasi" |
||||
|
version = "0.11.0+wasi-snapshot-preview1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasm-bindgen" |
||||
|
version = "0.2.82" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" |
||||
|
dependencies = [ |
||||
|
"cfg-if", |
||||
|
"wasm-bindgen-macro", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasm-bindgen-backend" |
||||
|
version = "0.2.82" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" |
||||
|
dependencies = [ |
||||
|
"bumpalo", |
||||
|
"log", |
||||
|
"once_cell", |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
"wasm-bindgen-shared", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasm-bindgen-macro" |
||||
|
version = "0.2.82" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" |
||||
|
dependencies = [ |
||||
|
"quote", |
||||
|
"wasm-bindgen-macro-support", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasm-bindgen-macro-support" |
||||
|
version = "0.2.82" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" |
||||
|
dependencies = [ |
||||
|
"proc-macro2", |
||||
|
"quote", |
||||
|
"syn", |
||||
|
"wasm-bindgen-backend", |
||||
|
"wasm-bindgen-shared", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "wasm-bindgen-shared" |
||||
|
version = "0.2.82" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "winapi" |
||||
|
version = "0.3.9" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
||||
|
dependencies = [ |
||||
|
"winapi-i686-pc-windows-gnu", |
||||
|
"winapi-x86_64-pc-windows-gnu", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "winapi-i686-pc-windows-gnu" |
||||
|
version = "0.4.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "winapi-x86_64-pc-windows-gnu" |
||||
|
version = "0.4.0" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows-sys" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" |
||||
|
dependencies = [ |
||||
|
"windows_aarch64_msvc", |
||||
|
"windows_i686_gnu", |
||||
|
"windows_i686_msvc", |
||||
|
"windows_x86_64_gnu", |
||||
|
"windows_x86_64_msvc", |
||||
|
] |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows_aarch64_msvc" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows_i686_gnu" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows_i686_msvc" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows_x86_64_gnu" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" |
||||
|
|
||||
|
[[package]] |
||||
|
name = "windows_x86_64_msvc" |
||||
|
version = "0.36.1" |
||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||
|
checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" |
@ -0,0 +1,26 @@ |
|||||
|
[package] |
||||
|
name = "namegen_lambda" |
||||
|
version = "0.1.0" |
||||
|
edition = "2021" |
||||
|
|
||||
|
# Starting in Rust 1.62 you can use `cargo add` to add dependencies |
||||
|
# to your project. |
||||
|
# |
||||
|
# If you're using an older Rust version, |
||||
|
# download cargo-edit(https://github.com/killercup/cargo-edit#installation) |
||||
|
# to install the `add` subcommand. |
||||
|
# |
||||
|
# Running `cargo add DEPENDENCY_NAME` will |
||||
|
# add the latest version of a dependency to the list, |
||||
|
# and it will keep the alphabetic ordering for you. |
||||
|
|
||||
|
[dependencies] |
||||
|
lambda_http = { version = "0.6.0", default-features = false, features = ["apigw_http"] } |
||||
|
lambda_runtime = "0.6.0" |
||||
|
tokio = { version = "1", features = ["macros"] } |
||||
|
tracing = { version = "0.1", features = ["log"] } |
||||
|
tracing-subscriber = { version = "0.3", default-features = false, features = ["fmt"] } |
||||
|
serde = "1.0.143" |
||||
|
serde_derive = "1.0.143" |
||||
|
serde_json = "1.0.83" |
||||
|
namegen = {version = "0.1.3", features = ["serde"]} |
1
src/rust/namegen-lambda/names.json
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,88 @@ |
|||||
|
#![feature(async_closure)]
|
||||
|
|
||||
|
use std::collections::HashMap;
|
||||
|
use std::fs::File;
|
||||
|
use std::io::Read;
|
||||
|
use lambda_http::{run, service_fn, Error, Request, RequestExt, Response};
|
||||
|
use namegen::Name;
|
||||
|
use serde::{Deserialize};
|
||||
|
|
||||
|
type EndpointResult = Result::<Response<String>, Error>;
|
||||
|
|
||||
|
#[tokio::main]
|
||||
|
async fn main() -> Result<(), Error> {
|
||||
|
tracing_subscriber::fmt()
|
||||
|
.with_max_level(tracing::Level::INFO)
|
||||
|
// disable printing the name of the module in every log line.
|
||||
|
.with_target(false)
|
||||
|
// disabling time is handy because CloudWatch will add the ingestion time.
|
||||
|
.without_time()
|
||||
|
.init();
|
||||
|
|
||||
|
let mut file = File::open("names.json").unwrap();
|
||||
|
let mut data = String::new();
|
||||
|
file.read_to_string(&mut data).unwrap();
|
||||
|
|
||||
|
let json = serde_json::from_str::<NameGeneratorData>(&data).unwrap();
|
||||
|
let json_ref = &json;
|
||||
|
|
||||
|
run(service_fn(move |event: Request| async move {
|
||||
|
let path = event.raw_http_path();
|
||||
|
let keys: Vec<String> = path.split('/').filter(|f| !f.is_empty()).map(|f| f.into()).collect();
|
||||
|
|
||||
|
let key = if let Some(key) = keys.get(1) {
|
||||
|
key.clone()
|
||||
|
} else {
|
||||
|
return EndpointResult::Ok(
|
||||
|
Response::builder()
|
||||
|
.status(400)
|
||||
|
.header("content-type", "text/plain")
|
||||
|
.body("Missing path".into())
|
||||
|
.expect("failed to render response")
|
||||
|
)
|
||||
|
};
|
||||
|
|
||||
|
if let Some(name) = json_ref.map.get(&key) {
|
||||
|
let format_name = if let Some(key) = keys.get(2) {
|
||||
|
key.as_str()
|
||||
|
} else {
|
||||
|
name.first_format_name().unwrap()
|
||||
|
};
|
||||
|
|
||||
|
if let Some(gen) = name.generate(format_name) {
|
||||
|
let vec: Vec<String> = gen.take(64).collect();
|
||||
|
|
||||
|
EndpointResult::Ok(
|
||||
|
Response::builder()
|
||||
|
.status(200)
|
||||
|
.header("content-type", "application/json")
|
||||
|
.body(serde_json::to_string(&vec).unwrap().into())
|
||||
|
.expect("failed to render response")
|
||||
|
)
|
||||
|
} else {
|
||||
|
EndpointResult::Ok(
|
||||
|
Response::builder()
|
||||
|
.status(404)
|
||||
|
.header("content-type", "text/plain")
|
||||
|
.body("Format not found".into())
|
||||
|
.expect("failed to render response")
|
||||
|
)
|
||||
|
}
|
||||
|
} else {
|
||||
|
EndpointResult::Ok(
|
||||
|
Response::builder()
|
||||
|
.status(404)
|
||||
|
.header("content-type", "text/plain")
|
||||
|
.body("Generator not found".into())
|
||||
|
.expect("failed to render response")
|
||||
|
)
|
||||
|
}
|
||||
|
})).await?;
|
||||
|
|
||||
|
Ok(())
|
||||
|
}
|
||||
|
|
||||
|
#[derive(Deserialize)]
|
||||
|
struct NameGeneratorData {
|
||||
|
map: HashMap<String, Name>,
|
||||
|
}
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue