├── http ├── rust │ ├── .gitignore │ ├── Cargo.toml │ ├── src │ │ └── main.rs │ └── Cargo.lock ├── node │ ├── .gitignore │ ├── README.md │ ├── src │ │ └── index.ts │ ├── package.json │ └── package-lock.json ├── elixir │ ├── .gitignore │ ├── .formatter.exs │ ├── lib │ │ ├── application.ex │ │ └── server.ex │ ├── README.md │ ├── mix.exs │ └── mix.lock ├── go │ ├── go.mod │ └── cmd │ │ └── main.go └── bun │ ├── bun.lockb │ ├── package.json │ ├── README.md │ ├── src │ └── index.ts │ ├── .gitignore │ └── tsconfig.json ├── .gitignore ├── client ├── go.mod ├── cmd │ └── main.go └── results │ ├── node.csv │ ├── bun.csv │ ├── go.csv │ └── rust.csv └── README.md /http/rust/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /http/node/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | node_modules/ 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /http/elixir/.gitignore: -------------------------------------------------------------------------------- 1 | /_build/ 2 | /deps/ 3 | erl_crash.dump 4 | -------------------------------------------------------------------------------- /http/go/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/emilpriver/go-rust-bun 2 | 3 | go 1.21.0 4 | -------------------------------------------------------------------------------- /client/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/emilpriver/go-rust-bun-node/v2 2 | 3 | go 1.21.0 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bun vs GO vs Rust benchmark 2 | 3 | Hello :D This is benchmark source code 4 | -------------------------------------------------------------------------------- /http/bun/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkh44/go-rust-bun-node/v2/http/bun/bun.lockb -------------------------------------------------------------------------------- /http/node/README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | npm install 3 | npm run start 4 | ``` 5 | 6 | ``` 7 | open http://localhost:3000 8 | ``` 9 | -------------------------------------------------------------------------------- /http/elixir/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /http/node/src/index.ts: -------------------------------------------------------------------------------- 1 | import { serve } from '@hono/node-server' 2 | import { Hono } from 'hono' 3 | 4 | const app = new Hono() 5 | app.get('/json', (c) => c.json({ message: "Hello from node" })) 6 | 7 | serve(app) 8 | -------------------------------------------------------------------------------- /http/node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "start": "tsx src/index.ts" 4 | }, 5 | "dependencies": { 6 | "@hono/node-server": "^1.1.0", 7 | "hono": "^3.6.0" 8 | }, 9 | "devDependencies": { 10 | "tsx": "^3.12.2" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /http/elixir/lib/application.ex: -------------------------------------------------------------------------------- 1 | defmodule Server.Application do 2 | use Application 3 | 4 | def start(_type, _args) do 5 | Supervisor.start_link( 6 | [{Bandit, plug: Server, scheme: :http, port: 3000}], 7 | strategy: :one_for_one, 8 | name: Server.Supervisor 9 | ) 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /http/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "rust" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | axum = "0.6.20" 10 | serde_json = "1.0.106" 11 | tokio = { version = "1.32.0", features = ["full"] } 12 | -------------------------------------------------------------------------------- /http/bun/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bun", 3 | "version": "1.0.50", 4 | "scripts": { 5 | "test": "echo \"Error: no test specified\" && exit 1", 6 | "dev": "bun run --watch src/index.ts" 7 | }, 8 | "dependencies": { 9 | "elysia": "latest" 10 | }, 11 | "devDependencies": { 12 | "bun-types": "latest" 13 | }, 14 | "module": "src/index.js" 15 | } -------------------------------------------------------------------------------- /http/bun/README.md: -------------------------------------------------------------------------------- 1 | # Elysia with Bun runtime 2 | 3 | ## Getting Started 4 | To get started with this template, simply paste this command into your terminal: 5 | ```bash 6 | bun create elysia ./elysia-example 7 | ``` 8 | 9 | ## Development 10 | To start the development server run: 11 | ```bash 12 | bun run dev 13 | ``` 14 | 15 | Open http://localhost:3000/ with your browser to see the result. -------------------------------------------------------------------------------- /http/elixir/README.md: -------------------------------------------------------------------------------- 1 | # Elixir Web Server 2 | 3 | ### Build 4 | 5 | ```bash 6 | MIX_ENV=prod mix release 7 | ``` 8 | 9 | ### Run 10 | 11 | Start 12 | ```bash 13 | _build/prod/rel/server/bin/server start 14 | ``` 15 | 16 | Stop (you may also send SIGINT/SIGTERM) 17 | ```bash 18 | _build/prod/rel/server/bin/server stop 19 | ``` 20 | 21 | ## Dev 22 | 23 | #### Run with REPL 24 | 25 | ```bash 26 | iex -S mix 27 | ``` 28 | -------------------------------------------------------------------------------- /http/bun/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Elysia } from "elysia"; 2 | 3 | const app = new Elysia() 4 | .get("/json", () => { 5 | const p = JSON.stringify({ 6 | message: "Hello from Bun" 7 | }) 8 | 9 | return new Response(p, { 10 | headers: { 11 | 'Content-Type': 'application/json' 12 | } 13 | }) 14 | }) 15 | .listen(3000); 16 | 17 | 18 | console.log( 19 | `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}` 20 | ); 21 | -------------------------------------------------------------------------------- /http/elixir/lib/server.ex: -------------------------------------------------------------------------------- 1 | defmodule Server do 2 | import Plug.Conn 3 | 4 | def init(opts), do: opts 5 | 6 | def call(%{path_info: ["json"]} = conn, _opts) do 7 | conn 8 | |> put_resp_header("content-type", "application/json") 9 | |> send_resp(200, Jason.encode!(%{message: "Hello from Elixir"})) 10 | end 11 | 12 | def call(%{path_info: []} = conn, _opts) do 13 | send_resp(conn, 200, "Hello from Elixir") 14 | end 15 | 16 | def call(conn, _opts) do 17 | send_resp(conn, 204, "") 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /http/rust/src/main.rs: -------------------------------------------------------------------------------- 1 | use axum::{response::Json, routing::get, Router}; 2 | use serde_json::{json, Value}; 3 | 4 | async fn json() -> Json { 5 | Json(json!({ "message": "Hello from Rust" })) 6 | } 7 | 8 | #[tokio::main] 9 | async fn main() { 10 | // build our application with a single route 11 | let app = Router::new() 12 | .route("/", get(|| async { "Hello from Rust" })) 13 | .route("/json", get(json)); 14 | 15 | // run it with hyper on localhost:3000 16 | axum::Server::bind(&"0.0.0.0:3000".parse().unwrap()) 17 | .serve(app.into_make_service()) 18 | .await 19 | .unwrap(); 20 | } 21 | -------------------------------------------------------------------------------- /http/bun/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | 36 | **/*.trace 37 | **/*.zip 38 | **/*.tar.gz 39 | **/*.tgz 40 | **/*.log 41 | package-lock.json 42 | **/*.bun -------------------------------------------------------------------------------- /http/elixir/mix.exs: -------------------------------------------------------------------------------- 1 | defmodule Server.MixProject do 2 | use Mix.Project 3 | 4 | def project do 5 | [ 6 | app: :server, 7 | version: "0.1.0", 8 | elixir: "~> 1.15", 9 | start_permanent: Mix.env() == :prod, 10 | deps: deps() 11 | ] 12 | end 13 | 14 | # Run "mix help compile.app" to learn about applications. 15 | def application do 16 | [ 17 | extra_applications: [:logger], 18 | mod: {Server.Application, []} 19 | ] 20 | end 21 | 22 | # Run "mix help deps" to learn about dependencies. 23 | defp deps do 24 | [ 25 | {:bandit, "~> 1.0-pre"}, 26 | {:jason, "~> 1.4"} 27 | ] 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /http/go/cmd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "io" 7 | "net/http" 8 | ) 9 | 10 | func getRoot(w http.ResponseWriter, r *http.Request) { 11 | io.WriteString(w, "Hello from GO!\n") 12 | } 13 | 14 | func getJson(w http.ResponseWriter, r *http.Request) { 15 | p := R{ 16 | Message: "Hello from Go!", 17 | } 18 | 19 | b, err := json.Marshal(p) 20 | if err != nil { 21 | io.WriteString(w, "Boomer") 22 | return 23 | } 24 | 25 | w.Header().Set("Content-Type", "application/json") 26 | w.Write(b) 27 | } 28 | 29 | type R struct { 30 | Message string `json:"message"` 31 | } 32 | 33 | func main() { 34 | http.HandleFunc("/", getRoot) 35 | http.HandleFunc("/json", getJson) 36 | 37 | err := http.ListenAndServe(":3000", nil) 38 | if err != nil { 39 | panic(err) 40 | } 41 | fmt.Println("Listening on port 3000") 42 | } 43 | -------------------------------------------------------------------------------- /http/elixir/mix.lock: -------------------------------------------------------------------------------- 1 | %{ 2 | "bandit": {:hex, :bandit, "1.0.0-pre.15", "99c81c3ec88b1dbe1d730eb8050d6387e3881c3ec091daa0a26fa12c5bf17e53", [:mix], [{:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0-pre.5", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "9187acda0f1b6badc3b16054fe6bcd9e456aa91d3ca8d05e425422cefad8a5dc"}, 3 | "hpax": {:hex, :hpax, "0.1.2", "09a75600d9d8bbd064cdd741f21fc06fc1f4cf3d0fcc335e5aa19be1a7235c84", [:mix], [], "hexpm", "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13"}, 4 | "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, 5 | "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, 6 | "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, 7 | "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, 8 | "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, 9 | "thousand_island": {:hex, :thousand_island, "1.0.0-pre.7", "e74136e6cd4547cdf62da6332d9528915233e081553fed8a398caf5c11700a01", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f8d0a50e6ed95770341fb97f29f96031db94736cb93d267f7495e11ed2f5963a"}, 10 | "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"}, 11 | } 12 | -------------------------------------------------------------------------------- /client/cmd/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/csv" 5 | "encoding/json" 6 | "fmt" 7 | "io" 8 | "log" 9 | "net/http" 10 | "os" 11 | "strconv" 12 | "strings" 13 | "sync" 14 | "time" 15 | ) 16 | 17 | var hosts = []string{ 18 | "http://172.232.132.21", 19 | "http://172.232.132.130", 20 | "http://172.232.158.39", 21 | "http://172.232.158.78", 22 | "http://172.232.158.51", 23 | "http://172.232.158.61", 24 | "http://172.232.148.207", 25 | "http://172.232.148.51", 26 | } 27 | 28 | type Result struct { 29 | ID string `json:"id"` 30 | TestID string `json:"test_id"` 31 | Second int `json:"second"` 32 | Requests int `json:"requests"` 33 | ErrorCodes string `json:"error_codes"` 34 | } 35 | 36 | type Response struct { 37 | ID string `json:"id"` 38 | URL string `json:"url"` 39 | Method string `json:"method"` 40 | ContentType string `json:"content_type"` 41 | Status string `json:"status"` 42 | Body string `json:"body"` 43 | CreatedAt string `json:"created_at"` 44 | FinishedAt string `json:"finished_at"` 45 | Results []Result `json:"results"` 46 | } 47 | 48 | func main() { 49 | var wg sync.WaitGroup 50 | 51 | ch := make(chan []Result, 1000) 52 | 53 | for _, url := range hosts { 54 | wg.Add(1) 55 | 56 | go func(remoteUrl string) { 57 | defer wg.Done() 58 | 59 | payload := strings.NewReader(`{ 60 | "method": "GET", 61 | "tasks": 100, 62 | "seconds": 400, 63 | "start_at": "2023-09-17T10:16:34.675Z", 64 | "url": "http://172.232.156.13:3000/json", 65 | "content_type": "application/json", 66 | "body": "" 67 | }`) 68 | // TODO:: change ip 69 | res, err := http.Post(remoteUrl, "application/json", payload) 70 | if err != nil { 71 | return 72 | } 73 | defer res.Body.Close() 74 | 75 | body, err := io.ReadAll(res.Body) 76 | if err != nil { 77 | fmt.Println(err) 78 | return 79 | } 80 | 81 | fmt.Println(string(body)) 82 | 83 | var response Response 84 | err = json.Unmarshal(body, &response) 85 | if err != nil { 86 | fmt.Println("Unmarshal post request") 87 | fmt.Println(err) 88 | return 89 | } 90 | 91 | for { 92 | getTest, err := http.Get(fmt.Sprintf("%s/%s", remoteUrl, response.ID)) 93 | if err != nil { 94 | fmt.Println(err) 95 | return 96 | } 97 | 98 | body, err := io.ReadAll(getTest.Body) 99 | if err != nil { 100 | fmt.Println(err) 101 | return 102 | } 103 | fmt.Println(string(body)) 104 | 105 | var getTestResponse Response 106 | err = json.Unmarshal(body, &getTestResponse) 107 | if err != nil { 108 | return 109 | } 110 | 111 | if getTestResponse.Status == "PROCESSING" { 112 | time.Sleep(1 * time.Second) 113 | continue 114 | } 115 | 116 | if getTestResponse.Status == "FINISHED" { 117 | ch <- getTestResponse.Results 118 | 119 | break 120 | } 121 | 122 | fmt.Println(fmt.Sprintf("unexpected status :%s", getTestResponse.Status)) 123 | break 124 | } 125 | }(url) 126 | } 127 | 128 | wg.Wait() 129 | 130 | close(ch) 131 | 132 | var finalResult []Result 133 | 134 | for r := range ch { 135 | for i, res := range r { 136 | if len(finalResult) < (i + 1) { 137 | finalResult = append(finalResult, res) 138 | } else { 139 | finalResult[i].Requests += res.Requests 140 | finalResult[i].ErrorCodes += res.ErrorCodes 141 | } 142 | } 143 | } 144 | 145 | data := [][]string{} 146 | 147 | for _, row := range finalResult { 148 | s := strconv.Itoa(row.Second) 149 | r := strconv.Itoa(row.Requests) 150 | l := strconv.Itoa(len(strings.Split(row.ErrorCodes, ","))) 151 | data = append(data, []string{s, r, l}) 152 | } 153 | 154 | file, err := os.Create("results/node.csv") 155 | if err != nil { 156 | log.Fatal(err) 157 | } 158 | defer file.Close() 159 | 160 | writer := csv.NewWriter(file) 161 | 162 | defer writer.Flush() 163 | 164 | writer.Write([]string{"Second", "Requests", "Error codes"}) 165 | writer.WriteAll(data) 166 | } 167 | -------------------------------------------------------------------------------- /client/results/node.csv: -------------------------------------------------------------------------------- 1 | Second,Requests,Error codes 2 | 0,3742,1 3 | 1,5499,1 4 | 2,5646,1 5 | 3,6012,1 6 | 4,5826,1 7 | 5,5757,1 8 | 6,5752,1 9 | 7,5926,1 10 | 8,5998,1 11 | 9,5723,1 12 | 10,5745,1 13 | 11,5987,1 14 | 12,5930,1 15 | 13,5828,1 16 | 14,5811,1 17 | 15,5822,1 18 | 16,5950,1 19 | 17,5394,1 20 | 18,5995,1 21 | 19,5833,1 22 | 20,5902,1 23 | 21,5823,1 24 | 22,6004,1 25 | 23,6007,1 26 | 24,5811,1 27 | 25,5956,1 28 | 26,5796,1 29 | 27,5363,1 30 | 28,5723,1 31 | 29,5816,1 32 | 30,5661,1 33 | 31,5883,1 34 | 32,5891,1 35 | 33,5381,1 36 | 34,5874,1 37 | 35,5787,1 38 | 36,5905,1 39 | 37,5790,1 40 | 38,5622,1 41 | 39,5721,1 42 | 40,5669,1 43 | 41,5524,1 44 | 42,5822,1 45 | 43,5272,1 46 | 44,5754,1 47 | 45,5573,1 48 | 46,5273,1 49 | 47,5764,1 50 | 48,5508,1 51 | 49,5793,1 52 | 50,5736,1 53 | 51,5842,1 54 | 52,5961,1 55 | 53,5671,1 56 | 54,5723,1 57 | 55,5707,1 58 | 56,5598,1 59 | 57,5341,1 60 | 58,5468,1 61 | 59,5768,1 62 | 60,5722,1 63 | 61,5755,1 64 | 62,5524,1 65 | 63,5707,1 66 | 64,5370,1 67 | 65,5608,1 68 | 66,5320,1 69 | 67,5816,1 70 | 68,5419,1 71 | 69,5951,1 72 | 70,5808,1 73 | 71,5529,1 74 | 72,5539,1 75 | 73,5533,1 76 | 74,5702,1 77 | 75,5602,1 78 | 76,5651,1 79 | 77,5603,1 80 | 78,5539,1 81 | 79,5635,1 82 | 80,5051,1 83 | 81,5703,1 84 | 82,5365,1 85 | 83,5205,1 86 | 84,5461,1 87 | 85,5810,1 88 | 86,5924,1 89 | 87,5619,1 90 | 88,5557,1 91 | 89,5225,1 92 | 90,5462,1 93 | 91,5469,1 94 | 92,5576,1 95 | 93,5570,1 96 | 94,5652,1 97 | 95,5470,1 98 | 96,5626,1 99 | 97,5544,1 100 | 98,4942,1 101 | 99,5559,1 102 | 100,5577,1 103 | 101,5507,1 104 | 102,5160,1 105 | 103,4846,1 106 | 104,5351,1 107 | 105,5557,1 108 | 106,5643,1 109 | 107,5543,1 110 | 108,5507,1 111 | 109,5526,1 112 | 110,5560,1 113 | 111,5208,1 114 | 112,5501,1 115 | 113,5997,1 116 | 114,5496,1 117 | 115,5778,1 118 | 116,5657,1 119 | 117,5730,1 120 | 118,5681,1 121 | 119,5552,1 122 | 120,5347,1 123 | 121,5638,1 124 | 122,5814,1 125 | 123,5190,1 126 | 124,5715,1 127 | 125,5500,1 128 | 126,5900,1 129 | 127,5676,1 130 | 128,5636,1 131 | 129,5641,1 132 | 130,5090,1 133 | 131,5679,1 134 | 132,5012,1 135 | 133,5721,1 136 | 134,5541,1 137 | 135,5713,1 138 | 136,5662,1 139 | 137,5483,1 140 | 138,5473,1 141 | 139,5478,1 142 | 140,5674,1 143 | 141,5332,1 144 | 142,5342,1 145 | 143,5744,1 146 | 144,5863,1 147 | 145,5379,1 148 | 146,5523,1 149 | 147,5990,1 150 | 148,5768,1 151 | 149,5731,1 152 | 150,5705,1 153 | 151,5841,1 154 | 152,5550,1 155 | 153,5638,1 156 | 154,5694,1 157 | 155,5834,1 158 | 156,5714,1 159 | 157,5610,1 160 | 158,5883,1 161 | 159,5344,1 162 | 160,5548,1 163 | 161,5614,1 164 | 162,5887,1 165 | 163,5313,1 166 | 164,5584,1 167 | 165,5248,1 168 | 166,5349,1 169 | 167,5791,1 170 | 168,5786,1 171 | 169,5636,1 172 | 170,5234,1 173 | 171,5571,1 174 | 172,5762,1 175 | 173,5646,1 176 | 174,5564,1 177 | 175,5560,1 178 | 176,5535,1 179 | 177,5533,1 180 | 178,5371,1 181 | 179,5454,1 182 | 180,5488,1 183 | 181,5435,1 184 | 182,5501,1 185 | 183,5323,1 186 | 184,5754,1 187 | 185,5696,1 188 | 186,5711,1 189 | 187,5502,1 190 | 188,5350,1 191 | 189,5600,1 192 | 190,5611,1 193 | 191,5520,1 194 | 192,5684,1 195 | 193,5148,1 196 | 194,5702,1 197 | 195,5168,1 198 | 196,5728,1 199 | 197,5439,1 200 | 198,5633,1 201 | 199,5454,1 202 | 200,5647,1 203 | 201,5651,1 204 | 202,5614,1 205 | 203,5597,1 206 | 204,5601,1 207 | 205,5597,1 208 | 206,5644,1 209 | 207,5716,1 210 | 208,5804,1 211 | 209,5668,1 212 | 210,5734,1 213 | 211,5358,1 214 | 212,5551,1 215 | 213,5565,1 216 | 214,5692,1 217 | 215,5728,1 218 | 216,5779,1 219 | 217,5137,1 220 | 218,5742,1 221 | 219,5676,1 222 | 220,5654,1 223 | 221,5898,1 224 | 222,5605,1 225 | 223,5071,1 226 | 224,5385,1 227 | 225,5613,1 228 | 226,5559,1 229 | 227,5072,1 230 | 228,4599,1 231 | 229,5251,1 232 | 230,5418,1 233 | 231,5661,1 234 | 232,5169,1 235 | 233,5629,1 236 | 234,5616,1 237 | 235,5855,1 238 | 236,5362,1 239 | 237,5767,1 240 | 238,5536,1 241 | 239,5750,1 242 | 240,5782,1 243 | 241,5698,1 244 | 242,5396,1 245 | 243,5493,1 246 | 244,5449,1 247 | 245,5495,1 248 | 246,5669,1 249 | 247,5656,1 250 | 248,5697,1 251 | 249,5449,1 252 | 250,4826,1 253 | 251,5491,1 254 | 252,5565,1 255 | 253,4855,1 256 | 254,5559,1 257 | 255,5270,1 258 | 256,5813,1 259 | 257,5518,1 260 | 258,5433,1 261 | 259,5865,1 262 | 260,5425,1 263 | 261,5168,1 264 | 262,5785,1 265 | 263,4934,1 266 | 264,5339,1 267 | 265,5480,1 268 | 266,5602,1 269 | 267,5600,1 270 | 268,5618,1 271 | 269,5779,1 272 | 270,5686,1 273 | 271,5063,1 274 | 272,5257,1 275 | 273,4432,1 276 | 274,5276,1 277 | 275,5502,1 278 | 276,5078,1 279 | 277,5406,1 280 | 278,4670,1 281 | 279,5306,1 282 | 280,5597,1 283 | 281,5729,1 284 | 282,5401,1 285 | 283,5261,1 286 | 284,5473,1 287 | 285,5641,1 288 | 286,5529,1 289 | 287,5711,1 290 | 288,5761,1 291 | 289,5880,1 292 | 290,5638,1 293 | 291,5695,1 294 | 292,5376,1 295 | 293,5002,1 296 | 294,5172,1 297 | 295,5824,1 298 | 296,5544,1 299 | 297,5218,1 300 | 298,5556,1 301 | 299,5498,1 302 | 300,5521,1 303 | 301,5327,1 304 | 302,5244,1 305 | 303,5309,1 306 | 304,5274,1 307 | 305,5332,1 308 | 306,5785,1 309 | 307,5702,1 310 | 308,5453,1 311 | 309,5090,1 312 | 310,5539,1 313 | 311,5418,1 314 | 312,5588,1 315 | 313,5619,1 316 | 314,5749,1 317 | 315,5253,1 318 | 316,5555,1 319 | 317,5725,1 320 | 318,5454,1 321 | 319,5218,1 322 | 320,5423,1 323 | 321,5795,1 324 | 322,5526,1 325 | 323,5574,1 326 | 324,5619,1 327 | 325,5233,1 328 | 326,5675,1 329 | 327,5522,1 330 | 328,5629,1 331 | 329,5647,1 332 | 330,5722,1 333 | 331,5765,1 334 | 332,5459,1 335 | 333,5799,1 336 | 334,5490,1 337 | 335,5853,1 338 | 336,5807,1 339 | 337,5626,1 340 | 338,5568,1 341 | 339,5698,1 342 | 340,5613,1 343 | 341,5575,1 344 | 342,5727,1 345 | 343,5498,1 346 | 344,5846,1 347 | 345,5707,1 348 | 346,5581,1 349 | 347,5277,1 350 | 348,5181,1 351 | 349,5281,1 352 | 350,5723,1 353 | 351,5770,1 354 | 352,5168,1 355 | 353,5511,1 356 | 354,5663,1 357 | 355,5672,1 358 | 356,5743,1 359 | 357,5813,1 360 | 358,5506,1 361 | 359,5352,1 362 | 360,5571,1 363 | 361,5250,1 364 | 362,5457,1 365 | 363,5749,1 366 | 364,5581,1 367 | 365,5662,1 368 | 366,5588,1 369 | 367,5658,1 370 | 368,5563,1 371 | 369,5435,1 372 | 370,5848,1 373 | 371,5754,1 374 | 372,5501,1 375 | 373,5426,1 376 | 374,5376,1 377 | 375,5151,1 378 | 376,5616,1 379 | 377,5631,1 380 | 378,5611,1 381 | 379,5466,1 382 | 380,5754,1 383 | 381,5725,1 384 | 382,5589,1 385 | 383,5611,1 386 | 384,5600,1 387 | 385,5427,1 388 | 386,5576,1 389 | 387,5767,1 390 | 388,5600,1 391 | 389,5554,1 392 | 390,5646,1 393 | 391,5815,1 394 | 392,5800,1 395 | 393,5664,1 396 | 394,5290,1 397 | 395,5442,1 398 | 396,5589,1 399 | 397,5323,1 400 | 398,5877,1 401 | 399,5599,1 402 | -------------------------------------------------------------------------------- /client/results/bun.csv: -------------------------------------------------------------------------------- 1 | Second,Requests,Error codes 2 | 0,42244,1 3 | 1,43436,1 4 | 2,49412,1 5 | 3,50684,1 6 | 4,48449,1 7 | 5,48381,1 8 | 6,51949,1 9 | 7,47175,1 10 | 8,49317,1 11 | 9,44062,1 12 | 10,47596,1 13 | 11,49620,1 14 | 12,50496,1 15 | 13,50211,1 16 | 14,48103,1 17 | 15,48387,1 18 | 16,49587,1 19 | 17,49733,1 20 | 18,50709,1 21 | 19,50205,1 22 | 20,43450,1 23 | 21,48850,1 24 | 22,49049,1 25 | 23,50331,1 26 | 24,49862,1 27 | 25,49363,1 28 | 26,46884,1 29 | 27,43636,1 30 | 28,48108,1 31 | 29,49866,1 32 | 30,48170,1 33 | 31,49788,1 34 | 32,47002,1 35 | 33,48951,1 36 | 34,49946,1 37 | 35,48982,1 38 | 36,50120,1 39 | 37,49973,1 40 | 38,50042,1 41 | 39,50104,1 42 | 40,46693,1 43 | 41,43856,1 44 | 42,48401,1 45 | 43,47005,1 46 | 44,44625,1 47 | 45,41694,1 48 | 46,48025,1 49 | 47,46672,1 50 | 48,46085,1 51 | 49,47768,1 52 | 50,45133,1 53 | 51,51272,1 54 | 52,41862,1 55 | 53,45374,1 56 | 54,47961,1 57 | 55,46842,1 58 | 56,48643,1 59 | 57,47718,1 60 | 58,48257,1 61 | 59,48414,1 62 | 60,50833,1 63 | 61,49190,1 64 | 62,49618,1 65 | 63,50273,1 66 | 64,48225,1 67 | 65,47317,1 68 | 66,48249,1 69 | 67,45514,1 70 | 68,45885,1 71 | 69,45210,1 72 | 70,51560,1 73 | 71,44979,1 74 | 72,46028,1 75 | 73,47430,1 76 | 74,46398,1 77 | 75,35372,1 78 | 76,44997,1 79 | 77,50159,1 80 | 78,48271,1 81 | 79,49241,1 82 | 80,47492,1 83 | 81,47005,1 84 | 82,50292,1 85 | 83,49720,1 86 | 84,50043,1 87 | 85,49002,1 88 | 86,50029,1 89 | 87,49217,1 90 | 88,50357,1 91 | 89,49677,1 92 | 90,47203,1 93 | 91,46215,1 94 | 92,49651,1 95 | 93,48679,1 96 | 94,49402,1 97 | 95,49073,1 98 | 96,53671,1 99 | 97,47620,1 100 | 98,48213,1 101 | 99,48856,1 102 | 100,50487,1 103 | 101,45147,1 104 | 102,49064,1 105 | 103,44815,1 106 | 104,47848,1 107 | 105,47635,1 108 | 106,46215,1 109 | 107,43647,1 110 | 108,50385,1 111 | 109,47958,1 112 | 110,50005,1 113 | 111,51400,1 114 | 112,50495,1 115 | 113,44830,1 116 | 114,49915,1 117 | 115,47767,1 118 | 116,51003,1 119 | 117,50525,1 120 | 118,50257,1 121 | 119,50477,1 122 | 120,48826,1 123 | 121,49809,1 124 | 122,46761,1 125 | 123,49122,1 126 | 124,48867,1 127 | 125,48283,1 128 | 126,49575,1 129 | 127,48840,1 130 | 128,51133,1 131 | 129,46520,1 132 | 130,51065,1 133 | 131,48409,1 134 | 132,50548,1 135 | 133,45816,1 136 | 134,47412,1 137 | 135,51381,1 138 | 136,47158,1 139 | 137,49910,1 140 | 138,47804,1 141 | 139,42932,1 142 | 140,49106,1 143 | 141,51465,1 144 | 142,51829,1 145 | 143,50571,1 146 | 144,46710,1 147 | 145,47036,1 148 | 146,42010,1 149 | 147,45618,1 150 | 148,46715,1 151 | 149,47111,1 152 | 150,50698,1 153 | 151,50162,1 154 | 152,46164,1 155 | 153,46707,1 156 | 154,44230,1 157 | 155,50451,1 158 | 156,51799,1 159 | 157,46794,1 160 | 158,47749,1 161 | 159,47339,1 162 | 160,49546,1 163 | 161,39918,1 164 | 162,45625,1 165 | 163,47996,1 166 | 164,46991,1 167 | 165,47259,1 168 | 166,50950,1 169 | 167,49841,1 170 | 168,48183,1 171 | 169,51492,1 172 | 170,49075,1 173 | 171,45419,1 174 | 172,49725,1 175 | 173,45160,1 176 | 174,38096,1 177 | 175,42175,1 178 | 176,49264,1 179 | 177,49291,1 180 | 178,50127,1 181 | 179,50085,1 182 | 180,48509,1 183 | 181,48353,1 184 | 182,45480,1 185 | 183,49634,1 186 | 184,51024,1 187 | 185,48608,1 188 | 186,42974,1 189 | 187,43863,1 190 | 188,44855,1 191 | 189,48247,1 192 | 190,50199,1 193 | 191,51304,1 194 | 192,45486,1 195 | 193,43932,1 196 | 194,45256,1 197 | 195,44633,1 198 | 196,51181,1 199 | 197,41137,1 200 | 198,49572,1 201 | 199,45870,1 202 | 200,44268,1 203 | 201,50530,1 204 | 202,49924,1 205 | 203,48965,1 206 | 204,38732,1 207 | 205,47039,1 208 | 206,47342,1 209 | 207,48498,1 210 | 208,43428,1 211 | 209,47242,1 212 | 210,46256,1 213 | 211,48599,1 214 | 212,48273,1 215 | 213,46899,1 216 | 214,44116,1 217 | 215,43225,1 218 | 216,46787,1 219 | 217,45804,1 220 | 218,46307,1 221 | 219,47567,1 222 | 220,42290,1 223 | 221,42597,1 224 | 222,46474,1 225 | 223,48154,1 226 | 224,46025,1 227 | 225,49647,1 228 | 226,48171,1 229 | 227,44311,1 230 | 228,49641,1 231 | 229,46614,1 232 | 230,51380,1 233 | 231,44202,1 234 | 232,46090,1 235 | 233,39903,1 236 | 234,44876,1 237 | 235,46102,1 238 | 236,47419,1 239 | 237,39930,1 240 | 238,42402,1 241 | 239,47285,1 242 | 240,46776,1 243 | 241,43056,1 244 | 242,50161,1 245 | 243,48281,1 246 | 244,47411,1 247 | 245,51064,1 248 | 246,48491,1 249 | 247,46800,1 250 | 248,38623,1 251 | 249,49753,1 252 | 250,46099,1 253 | 251,47351,1 254 | 252,50443,1 255 | 253,50202,1 256 | 254,49233,1 257 | 255,47203,1 258 | 256,41946,1 259 | 257,48267,1 260 | 258,47014,1 261 | 259,45518,1 262 | 260,47755,1 263 | 261,43569,1 264 | 262,46694,1 265 | 263,45288,1 266 | 264,50291,1 267 | 265,46892,1 268 | 266,45841,1 269 | 267,42811,1 270 | 268,47230,1 271 | 269,47049,1 272 | 270,43740,1 273 | 271,46931,1 274 | 272,43670,1 275 | 273,49377,1 276 | 274,47352,1 277 | 275,49034,1 278 | 276,46353,1 279 | 277,48251,1 280 | 278,43600,1 281 | 279,44143,1 282 | 280,47238,1 283 | 281,47870,1 284 | 282,45971,1 285 | 283,43322,1 286 | 284,42542,1 287 | 285,48173,1 288 | 286,46729,1 289 | 287,44005,1 290 | 288,49217,1 291 | 289,48978,1 292 | 290,48709,1 293 | 291,48838,1 294 | 292,48812,1 295 | 293,49434,1 296 | 294,47921,1 297 | 295,46860,1 298 | 296,46033,1 299 | 297,46994,1 300 | 298,44895,1 301 | 299,49780,1 302 | 300,45889,1 303 | 301,47605,1 304 | 302,46997,1 305 | 303,49128,1 306 | 304,48798,1 307 | 305,43800,1 308 | 306,47154,1 309 | 307,40823,1 310 | 308,47403,1 311 | 309,46784,1 312 | 310,45703,1 313 | 311,46297,1 314 | 312,44185,1 315 | 313,49307,1 316 | 314,48985,1 317 | 315,48122,1 318 | 316,48753,1 319 | 317,46952,1 320 | 318,50002,1 321 | 319,45493,1 322 | 320,40687,1 323 | 321,51032,1 324 | 322,41689,1 325 | 323,40927,1 326 | 324,47082,1 327 | 325,44258,1 328 | 326,46917,1 329 | 327,43466,1 330 | 328,45371,1 331 | 329,48605,1 332 | 330,48740,1 333 | 331,48175,1 334 | 332,47914,1 335 | 333,41874,1 336 | 334,49063,1 337 | 335,37026,1 338 | 336,41273,1 339 | 337,47872,1 340 | 338,49914,1 341 | 339,52021,1 342 | 340,48719,1 343 | 341,48883,1 344 | 342,49658,1 345 | 343,48774,1 346 | 344,46615,1 347 | 345,42982,1 348 | 346,49518,1 349 | 347,41498,1 350 | 348,49012,1 351 | 349,45928,1 352 | 350,47014,1 353 | 351,48733,1 354 | 352,50392,1 355 | 353,46542,1 356 | 354,50063,1 357 | 355,51044,1 358 | 356,43120,1 359 | 357,48695,1 360 | 358,44398,1 361 | 359,43814,1 362 | 360,45475,1 363 | 361,43965,1 364 | 362,51069,1 365 | 363,46981,1 366 | 364,44595,1 367 | 365,44771,1 368 | 366,46444,1 369 | 367,47444,1 370 | 368,47862,1 371 | 369,49405,1 372 | 370,45128,1 373 | 371,40773,1 374 | 372,47954,1 375 | 373,46251,1 376 | 374,44732,1 377 | 375,45044,1 378 | 376,46955,1 379 | 377,45213,1 380 | 378,46386,1 381 | 379,48416,1 382 | 380,41966,1 383 | 381,44714,1 384 | 382,45859,1 385 | 383,47583,1 386 | 384,48452,1 387 | 385,49127,1 388 | 386,48330,1 389 | 387,49140,1 390 | 388,43191,1 391 | 389,49219,1 392 | 390,43894,1 393 | 391,50167,1 394 | 392,44994,1 395 | 393,50131,1 396 | 394,46654,1 397 | 395,44812,1 398 | 396,48817,1 399 | 397,44797,1 400 | 398,47196,1 401 | 399,50116,1 402 | -------------------------------------------------------------------------------- /client/results/go.csv: -------------------------------------------------------------------------------- 1 | Second,Requests,Error codes 2 | 0,58446,1 3 | 1,60802,1 4 | 2,59933,1 5 | 3,61519,1 6 | 4,61595,1 7 | 5,61970,1 8 | 6,60448,1 9 | 7,61471,1 10 | 8,61855,1 11 | 9,59750,1 12 | 10,60858,1 13 | 11,62400,1 14 | 12,61480,1 15 | 13,62686,1 16 | 14,60775,1 17 | 15,58912,1 18 | 16,58274,1 19 | 17,61118,1 20 | 18,63376,1 21 | 19,62391,1 22 | 20,61562,1 23 | 21,59613,1 24 | 22,61344,1 25 | 23,62025,1 26 | 24,61532,1 27 | 25,62928,1 28 | 26,61550,1 29 | 27,61718,1 30 | 28,61842,1 31 | 29,61743,1 32 | 30,63709,1 33 | 31,61927,1 34 | 32,56516,1 35 | 33,57306,1 36 | 34,56083,1 37 | 35,57104,1 38 | 36,57116,1 39 | 37,57914,1 40 | 38,59753,1 41 | 39,61680,1 42 | 40,61316,1 43 | 41,61071,1 44 | 42,62762,1 45 | 43,61408,1 46 | 44,59253,1 47 | 45,62217,1 48 | 46,59605,1 49 | 47,61393,1 50 | 48,61616,1 51 | 49,61475,1 52 | 50,60617,1 53 | 51,60557,1 54 | 52,58304,1 55 | 53,57424,1 56 | 54,57562,1 57 | 55,58154,1 58 | 56,57348,1 59 | 57,57471,1 60 | 58,59034,1 61 | 59,58634,1 62 | 60,56468,1 63 | 61,60957,1 64 | 62,61752,1 65 | 63,60211,1 66 | 64,58687,1 67 | 65,59692,1 68 | 66,59552,1 69 | 67,57787,1 70 | 68,62580,1 71 | 69,61482,1 72 | 70,61493,1 73 | 71,60882,1 74 | 72,59526,1 75 | 73,62537,1 76 | 74,60927,1 77 | 75,61249,1 78 | 76,60320,1 79 | 77,61090,1 80 | 78,59575,1 81 | 79,62130,1 82 | 80,59986,1 83 | 81,61549,1 84 | 82,61318,1 85 | 83,60563,1 86 | 84,60519,1 87 | 85,58244,1 88 | 86,56324,1 89 | 87,56883,1 90 | 88,58104,1 91 | 89,58103,1 92 | 90,58416,1 93 | 91,61463,1 94 | 92,61563,1 95 | 93,61893,1 96 | 94,63106,1 97 | 95,59049,1 98 | 96,59559,1 99 | 97,62039,1 100 | 98,63292,1 101 | 99,62249,1 102 | 100,58893,1 103 | 101,57750,1 104 | 102,61788,1 105 | 103,61465,1 106 | 104,61684,1 107 | 105,61321,1 108 | 106,61864,1 109 | 107,58527,1 110 | 108,60649,1 111 | 109,63168,1 112 | 110,60121,1 113 | 111,60410,1 114 | 112,59884,1 115 | 113,61445,1 116 | 114,59202,1 117 | 115,63328,1 118 | 116,60545,1 119 | 117,62171,1 120 | 118,60809,1 121 | 119,60401,1 122 | 120,57876,1 123 | 121,61441,1 124 | 122,61783,1 125 | 123,63061,1 126 | 124,62474,1 127 | 125,58816,1 128 | 126,59238,1 129 | 127,59162,1 130 | 128,56314,1 131 | 129,60652,1 132 | 130,61019,1 133 | 131,60415,1 134 | 132,58693,1 135 | 133,61370,1 136 | 134,61843,1 137 | 135,62437,1 138 | 136,59556,1 139 | 137,60840,1 140 | 138,62512,1 141 | 139,62220,1 142 | 140,62495,1 143 | 141,63557,1 144 | 142,61348,1 145 | 143,62416,1 146 | 144,62753,1 147 | 145,61151,1 148 | 146,61933,1 149 | 147,58909,1 150 | 148,62796,1 151 | 149,64016,1 152 | 150,63695,1 153 | 151,61336,1 154 | 152,60489,1 155 | 153,61284,1 156 | 154,63666,1 157 | 155,62176,1 158 | 156,61991,1 159 | 157,60359,1 160 | 158,62642,1 161 | 159,63565,1 162 | 160,61809,1 163 | 161,61589,1 164 | 162,60973,1 165 | 163,57425,1 166 | 164,63366,1 167 | 165,61128,1 168 | 166,61425,1 169 | 167,62344,1 170 | 168,64686,1 171 | 169,61721,1 172 | 170,61870,1 173 | 171,61652,1 174 | 172,58654,1 175 | 173,63461,1 176 | 174,60914,1 177 | 175,60151,1 178 | 176,60851,1 179 | 177,61661,1 180 | 178,62221,1 181 | 179,62378,1 182 | 180,60914,1 183 | 181,62586,1 184 | 182,61905,1 185 | 183,60787,1 186 | 184,65409,1 187 | 185,60903,1 188 | 186,61796,1 189 | 187,63003,1 190 | 188,64874,1 191 | 189,63266,1 192 | 190,62201,1 193 | 191,59086,1 194 | 192,61528,1 195 | 193,61991,1 196 | 194,64312,1 197 | 195,63486,1 198 | 196,61641,1 199 | 197,63415,1 200 | 198,61944,1 201 | 199,59336,1 202 | 200,61262,1 203 | 201,62158,1 204 | 202,62180,1 205 | 203,62917,1 206 | 204,61909,1 207 | 205,61958,1 208 | 206,63609,1 209 | 207,63816,1 210 | 208,61915,1 211 | 209,63865,1 212 | 210,62385,1 213 | 211,60874,1 214 | 212,61828,1 215 | 213,63747,1 216 | 214,63695,1 217 | 215,61339,1 218 | 216,60477,1 219 | 217,61878,1 220 | 218,63022,1 221 | 219,61974,1 222 | 220,62658,1 223 | 221,61685,1 224 | 222,61868,1 225 | 223,62510,1 226 | 224,60258,1 227 | 225,60531,1 228 | 226,61087,1 229 | 227,61837,1 230 | 228,62796,1 231 | 229,62548,1 232 | 230,61734,1 233 | 231,62578,1 234 | 232,60257,1 235 | 233,61804,1 236 | 234,60928,1 237 | 235,60914,1 238 | 236,59947,1 239 | 237,59620,1 240 | 238,60041,1 241 | 239,61555,1 242 | 240,62716,1 243 | 241,63624,1 244 | 242,61434,1 245 | 243,59920,1 246 | 244,62147,1 247 | 245,60961,1 248 | 246,58239,1 249 | 247,61304,1 250 | 248,60668,1 251 | 249,61413,1 252 | 250,61654,1 253 | 251,61061,1 254 | 252,63031,1 255 | 253,63692,1 256 | 254,61502,1 257 | 255,62729,1 258 | 256,63044,1 259 | 257,61551,1 260 | 258,63006,1 261 | 259,64287,1 262 | 260,60593,1 263 | 261,62223,1 264 | 262,60604,1 265 | 263,62642,1 266 | 264,62304,1 267 | 265,60367,1 268 | 266,61140,1 269 | 267,62165,1 270 | 268,63127,1 271 | 269,63279,1 272 | 270,60419,1 273 | 271,62806,1 274 | 272,60353,1 275 | 273,63406,1 276 | 274,62455,1 277 | 275,62521,1 278 | 276,60926,1 279 | 277,62719,1 280 | 278,61115,1 281 | 279,61202,1 282 | 280,63546,1 283 | 281,60852,1 284 | 282,60808,1 285 | 283,58847,1 286 | 284,63299,1 287 | 285,62105,1 288 | 286,61693,1 289 | 287,64106,1 290 | 288,64306,1 291 | 289,62757,1 292 | 290,62887,1 293 | 291,60702,1 294 | 292,57959,1 295 | 293,60736,1 296 | 294,59825,1 297 | 295,61796,1 298 | 296,60109,1 299 | 297,58705,1 300 | 298,57522,1 301 | 299,60521,1 302 | 300,61477,1 303 | 301,63350,1 304 | 302,62786,1 305 | 303,63766,1 306 | 304,62380,1 307 | 305,61118,1 308 | 306,62109,1 309 | 307,60371,1 310 | 308,59940,1 311 | 309,62309,1 312 | 310,61974,1 313 | 311,61466,1 314 | 312,62526,1 315 | 313,61109,1 316 | 314,59044,1 317 | 315,61253,1 318 | 316,60762,1 319 | 317,62271,1 320 | 318,61365,1 321 | 319,56615,1 322 | 320,58686,1 323 | 321,60376,1 324 | 322,59927,1 325 | 323,60097,1 326 | 324,60837,1 327 | 325,59524,1 328 | 326,56458,1 329 | 327,56820,1 330 | 328,59948,1 331 | 329,57189,1 332 | 330,60787,1 333 | 331,61045,1 334 | 332,59212,1 335 | 333,61133,1 336 | 334,61441,1 337 | 335,59760,1 338 | 336,59717,1 339 | 337,59589,1 340 | 338,61072,1 341 | 339,58491,1 342 | 340,60270,1 343 | 341,62088,1 344 | 342,62865,1 345 | 343,59911,1 346 | 344,59317,1 347 | 345,61232,1 348 | 346,62600,1 349 | 347,59908,1 350 | 348,57856,1 351 | 349,57913,1 352 | 350,59532,1 353 | 351,59000,1 354 | 352,58107,1 355 | 353,58206,1 356 | 354,57880,1 357 | 355,57658,1 358 | 356,58473,1 359 | 357,56890,1 360 | 358,57351,1 361 | 359,58104,1 362 | 360,57706,1 363 | 361,57094,1 364 | 362,56011,1 365 | 363,57676,1 366 | 364,60340,1 367 | 365,55829,1 368 | 366,58315,1 369 | 367,57758,1 370 | 368,57013,1 371 | 369,57262,1 372 | 370,57149,1 373 | 371,59350,1 374 | 372,55416,1 375 | 373,58052,1 376 | 374,57635,1 377 | 375,60294,1 378 | 376,57080,1 379 | 377,59141,1 380 | 378,58528,1 381 | 379,61304,1 382 | 380,58264,1 383 | 381,59177,1 384 | 382,59368,1 385 | 383,62876,1 386 | 384,59640,1 387 | 385,62261,1 388 | 386,60896,1 389 | 387,60563,1 390 | 388,59549,1 391 | 389,59096,1 392 | 390,60465,1 393 | 391,61689,1 394 | 392,59971,1 395 | 393,59703,1 396 | 394,62128,1 397 | 395,61736,1 398 | 396,62390,1 399 | 397,58861,1 400 | 398,58003,1 401 | 399,60600,1 402 | -------------------------------------------------------------------------------- /client/results/rust.csv: -------------------------------------------------------------------------------- 1 | Second,Requests,Error codes 2 | 0,85396,1 3 | 1,89980,1 4 | 2,91192,1 5 | 3,81993,1 6 | 4,89603,1 7 | 5,86661,1 8 | 6,90173,1 9 | 7,87211,1 10 | 8,86921,1 11 | 9,86792,1 12 | 10,87962,1 13 | 11,85825,1 14 | 12,86911,1 15 | 13,90260,1 16 | 14,87570,1 17 | 15,88728,1 18 | 16,87749,1 19 | 17,84145,1 20 | 18,90137,1 21 | 19,85844,1 22 | 20,89092,1 23 | 21,88099,1 24 | 22,87563,1 25 | 23,86502,1 26 | 24,85706,1 27 | 25,90032,1 28 | 26,88808,1 29 | 27,88603,1 30 | 28,89359,1 31 | 29,90520,1 32 | 30,93248,1 33 | 31,86867,1 34 | 32,89719,1 35 | 33,88256,1 36 | 34,90413,1 37 | 35,89837,1 38 | 36,90343,1 39 | 37,87167,1 40 | 38,86916,1 41 | 39,88518,1 42 | 40,89141,1 43 | 41,85948,1 44 | 42,91391,1 45 | 43,88218,1 46 | 44,89910,1 47 | 45,86998,1 48 | 46,90804,1 49 | 47,90231,1 50 | 48,88168,1 51 | 49,89190,1 52 | 50,91183,1 53 | 51,88225,1 54 | 52,88282,1 55 | 53,89993,1 56 | 54,88521,1 57 | 55,88664,1 58 | 56,87172,1 59 | 57,85654,1 60 | 58,92586,1 61 | 59,90140,1 62 | 60,89659,1 63 | 61,91049,1 64 | 62,89487,1 65 | 63,89293,1 66 | 64,86068,1 67 | 65,87518,1 68 | 66,92479,1 69 | 67,88602,1 70 | 68,85593,1 71 | 69,86852,1 72 | 70,89389,1 73 | 71,85148,1 74 | 72,86972,1 75 | 73,85559,1 76 | 74,84474,1 77 | 75,86612,1 78 | 76,86931,1 79 | 77,86560,1 80 | 78,88234,1 81 | 79,89520,1 82 | 80,92239,1 83 | 81,89419,1 84 | 82,90547,1 85 | 83,93246,1 86 | 84,91325,1 87 | 85,87635,1 88 | 86,88880,1 89 | 87,88649,1 90 | 88,88422,1 91 | 89,91395,1 92 | 90,88285,1 93 | 91,88113,1 94 | 92,90239,1 95 | 93,85770,1 96 | 94,90536,1 97 | 95,86687,1 98 | 96,88258,1 99 | 97,85639,1 100 | 98,90351,1 101 | 99,87363,1 102 | 100,83635,1 103 | 101,90916,1 104 | 102,86982,1 105 | 103,87928,1 106 | 104,81696,1 107 | 105,87175,1 108 | 106,86022,1 109 | 107,86834,1 110 | 108,88667,1 111 | 109,88700,1 112 | 110,86417,1 113 | 111,88205,1 114 | 112,88461,1 115 | 113,94641,1 116 | 114,90353,1 117 | 115,90112,1 118 | 116,88513,1 119 | 117,89530,1 120 | 118,93312,1 121 | 119,88722,1 122 | 120,85677,1 123 | 121,89063,1 124 | 122,87333,1 125 | 123,86897,1 126 | 124,87397,1 127 | 125,90324,1 128 | 126,87914,1 129 | 127,87355,1 130 | 128,89127,1 131 | 129,89046,1 132 | 130,85733,1 133 | 131,87369,1 134 | 132,84504,1 135 | 133,87898,1 136 | 134,88832,1 137 | 135,78734,1 138 | 136,89465,1 139 | 137,90387,1 140 | 138,89257,1 141 | 139,86339,1 142 | 140,90334,1 143 | 141,89660,1 144 | 142,89267,1 145 | 143,86664,1 146 | 144,89572,1 147 | 145,90527,1 148 | 146,91649,1 149 | 147,89616,1 150 | 148,84777,1 151 | 149,92617,1 152 | 150,90327,1 153 | 151,88076,1 154 | 152,88135,1 155 | 153,90022,1 156 | 154,82266,1 157 | 155,92077,1 158 | 156,89576,1 159 | 157,89064,1 160 | 158,89549,1 161 | 159,87958,1 162 | 160,91706,1 163 | 161,92389,1 164 | 162,89931,1 165 | 163,87974,1 166 | 164,87719,1 167 | 165,88626,1 168 | 166,88548,1 169 | 167,89729,1 170 | 168,86317,1 171 | 169,88825,1 172 | 170,90937,1 173 | 171,88315,1 174 | 172,81809,1 175 | 173,90098,1 176 | 174,90422,1 177 | 175,88096,1 178 | 176,86672,1 179 | 177,95096,1 180 | 178,86412,1 181 | 179,88874,1 182 | 180,93111,1 183 | 181,86959,1 184 | 182,91100,1 185 | 183,89819,1 186 | 184,86980,1 187 | 185,89174,1 188 | 186,89244,1 189 | 187,90358,1 190 | 188,87534,1 191 | 189,88276,1 192 | 190,86619,1 193 | 191,86094,1 194 | 192,90406,1 195 | 193,90578,1 196 | 194,93186,1 197 | 195,89636,1 198 | 196,86656,1 199 | 197,89133,1 200 | 198,89104,1 201 | 199,90202,1 202 | 200,88613,1 203 | 201,84885,1 204 | 202,86736,1 205 | 203,91118,1 206 | 204,88064,1 207 | 205,86412,1 208 | 206,86412,1 209 | 207,93265,1 210 | 208,88626,1 211 | 209,86168,1 212 | 210,89092,1 213 | 211,90102,1 214 | 212,94355,1 215 | 213,87992,1 216 | 214,86907,1 217 | 215,89600,1 218 | 216,92250,1 219 | 217,89437,1 220 | 218,92618,1 221 | 219,88853,1 222 | 220,89849,1 223 | 221,87955,1 224 | 222,88759,1 225 | 223,93171,1 226 | 224,89309,1 227 | 225,88309,1 228 | 226,89176,1 229 | 227,85374,1 230 | 228,89475,1 231 | 229,89106,1 232 | 230,90294,1 233 | 231,90647,1 234 | 232,86274,1 235 | 233,91344,1 236 | 234,88818,1 237 | 235,86918,1 238 | 236,89007,1 239 | 237,90772,1 240 | 238,87185,1 241 | 239,86905,1 242 | 240,89581,1 243 | 241,88861,1 244 | 242,85923,1 245 | 243,90407,1 246 | 244,87947,1 247 | 245,86393,1 248 | 246,85227,1 249 | 247,87273,1 250 | 248,85517,1 251 | 249,84030,1 252 | 250,88755,1 253 | 251,87694,1 254 | 252,91255,1 255 | 253,86051,1 256 | 254,86074,1 257 | 255,86641,1 258 | 256,87543,1 259 | 257,87046,1 260 | 258,83698,1 261 | 259,87190,1 262 | 260,88614,1 263 | 261,89125,1 264 | 262,86093,1 265 | 263,91910,1 266 | 264,94169,1 267 | 265,87030,1 268 | 266,94910,1 269 | 267,89985,1 270 | 268,87305,1 271 | 269,92150,1 272 | 270,87377,1 273 | 271,89648,1 274 | 272,89134,1 275 | 273,85135,1 276 | 274,88456,1 277 | 275,91249,1 278 | 276,87582,1 279 | 277,87122,1 280 | 278,83612,1 281 | 279,90283,1 282 | 280,90515,1 283 | 281,91447,1 284 | 282,88609,1 285 | 283,86099,1 286 | 284,82966,1 287 | 285,87280,1 288 | 286,86547,1 289 | 287,90574,1 290 | 288,83654,1 291 | 289,88612,1 292 | 290,90014,1 293 | 291,92404,1 294 | 292,89973,1 295 | 293,85977,1 296 | 294,86057,1 297 | 295,88871,1 298 | 296,87851,1 299 | 297,87171,1 300 | 298,83590,1 301 | 299,86880,1 302 | 300,87270,1 303 | 301,89203,1 304 | 302,89492,1 305 | 303,91068,1 306 | 304,91316,1 307 | 305,92741,1 308 | 306,88397,1 309 | 307,84722,1 310 | 308,84872,1 311 | 309,87991,1 312 | 310,89666,1 313 | 311,90765,1 314 | 312,91801,1 315 | 313,86975,1 316 | 314,87449,1 317 | 315,85655,1 318 | 316,83899,1 319 | 317,84051,1 320 | 318,83261,1 321 | 319,87011,1 322 | 320,89846,1 323 | 321,88658,1 324 | 322,88937,1 325 | 323,87292,1 326 | 324,89574,1 327 | 325,84625,1 328 | 326,84902,1 329 | 327,92712,1 330 | 328,89499,1 331 | 329,86038,1 332 | 330,89471,1 333 | 331,87745,1 334 | 332,88202,1 335 | 333,90619,1 336 | 334,90082,1 337 | 335,86709,1 338 | 336,88690,1 339 | 337,86360,1 340 | 338,87983,1 341 | 339,92305,1 342 | 340,87379,1 343 | 341,87882,1 344 | 342,88824,1 345 | 343,88694,1 346 | 344,86047,1 347 | 345,89425,1 348 | 346,89640,1 349 | 347,89748,1 350 | 348,88782,1 351 | 349,87861,1 352 | 350,90947,1 353 | 351,86127,1 354 | 352,89042,1 355 | 353,88783,1 356 | 354,85904,1 357 | 355,85384,1 358 | 356,87262,1 359 | 357,91989,1 360 | 358,88162,1 361 | 359,89762,1 362 | 360,84884,1 363 | 361,89536,1 364 | 362,90180,1 365 | 363,87611,1 366 | 364,88281,1 367 | 365,92939,1 368 | 366,88605,1 369 | 367,87017,1 370 | 368,87896,1 371 | 369,84460,1 372 | 370,88524,1 373 | 371,85255,1 374 | 372,87702,1 375 | 373,90890,1 376 | 374,87502,1 377 | 375,90887,1 378 | 376,87673,1 379 | 377,86696,1 380 | 378,85153,1 381 | 379,88828,1 382 | 380,93357,1 383 | 381,86487,1 384 | 382,92023,1 385 | 383,87525,1 386 | 384,86454,1 387 | 385,86511,1 388 | 386,91965,1 389 | 387,89961,1 390 | 388,89720,1 391 | 389,89013,1 392 | 390,86406,1 393 | 391,87893,1 394 | 392,89263,1 395 | 393,89791,1 396 | 394,85887,1 397 | 395,92139,1 398 | 396,88950,1 399 | 397,89407,1 400 | 398,88039,1 401 | 399,88560,1 402 | -------------------------------------------------------------------------------- /http/bun/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "ES2021", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "ES2022", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | "types": ["bun-types"], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "resolveJsonModule": true, /* Enable importing .json files. */ 39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 40 | 41 | /* JavaScript Support */ 42 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 45 | 46 | /* Emit */ 47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 52 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 53 | // "removeComments": true, /* Disable emitting comments. */ 54 | // "noEmit": true, /* Disable emitting files from a compilation. */ 55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 63 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 70 | 71 | /* Interop Constraints */ 72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 74 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 76 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 77 | 78 | /* Type Checking */ 79 | "strict": true, /* Enable all strict type-checking options. */ 80 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 98 | 99 | /* Completeness */ 100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /http/node/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@hono/node-server": "^1.1.0", 9 | "hono": "^3.6.0" 10 | }, 11 | "devDependencies": { 12 | "tsx": "^3.12.2" 13 | } 14 | }, 15 | "node_modules/@esbuild-kit/cjs-loader": { 16 | "version": "2.4.4", 17 | "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.4.tgz", 18 | "integrity": "sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==", 19 | "dev": true, 20 | "dependencies": { 21 | "@esbuild-kit/core-utils": "^3.2.3", 22 | "get-tsconfig": "^4.7.0" 23 | } 24 | }, 25 | "node_modules/@esbuild-kit/core-utils": { 26 | "version": "3.3.2", 27 | "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz", 28 | "integrity": "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==", 29 | "dev": true, 30 | "dependencies": { 31 | "esbuild": "~0.18.20", 32 | "source-map-support": "^0.5.21" 33 | } 34 | }, 35 | "node_modules/@esbuild-kit/esm-loader": { 36 | "version": "2.6.5", 37 | "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz", 38 | "integrity": "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==", 39 | "dev": true, 40 | "dependencies": { 41 | "@esbuild-kit/core-utils": "^3.3.2", 42 | "get-tsconfig": "^4.7.0" 43 | } 44 | }, 45 | "node_modules/@esbuild/android-arm": { 46 | "version": "0.18.20", 47 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 48 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 49 | "cpu": [ 50 | "arm" 51 | ], 52 | "dev": true, 53 | "optional": true, 54 | "os": [ 55 | "android" 56 | ], 57 | "engines": { 58 | "node": ">=12" 59 | } 60 | }, 61 | "node_modules/@esbuild/android-arm64": { 62 | "version": "0.18.20", 63 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 64 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 65 | "cpu": [ 66 | "arm64" 67 | ], 68 | "dev": true, 69 | "optional": true, 70 | "os": [ 71 | "android" 72 | ], 73 | "engines": { 74 | "node": ">=12" 75 | } 76 | }, 77 | "node_modules/@esbuild/android-x64": { 78 | "version": "0.18.20", 79 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 80 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 81 | "cpu": [ 82 | "x64" 83 | ], 84 | "dev": true, 85 | "optional": true, 86 | "os": [ 87 | "android" 88 | ], 89 | "engines": { 90 | "node": ">=12" 91 | } 92 | }, 93 | "node_modules/@esbuild/darwin-arm64": { 94 | "version": "0.18.20", 95 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 96 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 97 | "cpu": [ 98 | "arm64" 99 | ], 100 | "dev": true, 101 | "optional": true, 102 | "os": [ 103 | "darwin" 104 | ], 105 | "engines": { 106 | "node": ">=12" 107 | } 108 | }, 109 | "node_modules/@esbuild/darwin-x64": { 110 | "version": "0.18.20", 111 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 112 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 113 | "cpu": [ 114 | "x64" 115 | ], 116 | "dev": true, 117 | "optional": true, 118 | "os": [ 119 | "darwin" 120 | ], 121 | "engines": { 122 | "node": ">=12" 123 | } 124 | }, 125 | "node_modules/@esbuild/freebsd-arm64": { 126 | "version": "0.18.20", 127 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 128 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 129 | "cpu": [ 130 | "arm64" 131 | ], 132 | "dev": true, 133 | "optional": true, 134 | "os": [ 135 | "freebsd" 136 | ], 137 | "engines": { 138 | "node": ">=12" 139 | } 140 | }, 141 | "node_modules/@esbuild/freebsd-x64": { 142 | "version": "0.18.20", 143 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 144 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 145 | "cpu": [ 146 | "x64" 147 | ], 148 | "dev": true, 149 | "optional": true, 150 | "os": [ 151 | "freebsd" 152 | ], 153 | "engines": { 154 | "node": ">=12" 155 | } 156 | }, 157 | "node_modules/@esbuild/linux-arm": { 158 | "version": "0.18.20", 159 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 160 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 161 | "cpu": [ 162 | "arm" 163 | ], 164 | "dev": true, 165 | "optional": true, 166 | "os": [ 167 | "linux" 168 | ], 169 | "engines": { 170 | "node": ">=12" 171 | } 172 | }, 173 | "node_modules/@esbuild/linux-arm64": { 174 | "version": "0.18.20", 175 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 176 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 177 | "cpu": [ 178 | "arm64" 179 | ], 180 | "dev": true, 181 | "optional": true, 182 | "os": [ 183 | "linux" 184 | ], 185 | "engines": { 186 | "node": ">=12" 187 | } 188 | }, 189 | "node_modules/@esbuild/linux-ia32": { 190 | "version": "0.18.20", 191 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 192 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 193 | "cpu": [ 194 | "ia32" 195 | ], 196 | "dev": true, 197 | "optional": true, 198 | "os": [ 199 | "linux" 200 | ], 201 | "engines": { 202 | "node": ">=12" 203 | } 204 | }, 205 | "node_modules/@esbuild/linux-loong64": { 206 | "version": "0.18.20", 207 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 208 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 209 | "cpu": [ 210 | "loong64" 211 | ], 212 | "dev": true, 213 | "optional": true, 214 | "os": [ 215 | "linux" 216 | ], 217 | "engines": { 218 | "node": ">=12" 219 | } 220 | }, 221 | "node_modules/@esbuild/linux-mips64el": { 222 | "version": "0.18.20", 223 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 224 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 225 | "cpu": [ 226 | "mips64el" 227 | ], 228 | "dev": true, 229 | "optional": true, 230 | "os": [ 231 | "linux" 232 | ], 233 | "engines": { 234 | "node": ">=12" 235 | } 236 | }, 237 | "node_modules/@esbuild/linux-ppc64": { 238 | "version": "0.18.20", 239 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 240 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 241 | "cpu": [ 242 | "ppc64" 243 | ], 244 | "dev": true, 245 | "optional": true, 246 | "os": [ 247 | "linux" 248 | ], 249 | "engines": { 250 | "node": ">=12" 251 | } 252 | }, 253 | "node_modules/@esbuild/linux-riscv64": { 254 | "version": "0.18.20", 255 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 256 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 257 | "cpu": [ 258 | "riscv64" 259 | ], 260 | "dev": true, 261 | "optional": true, 262 | "os": [ 263 | "linux" 264 | ], 265 | "engines": { 266 | "node": ">=12" 267 | } 268 | }, 269 | "node_modules/@esbuild/linux-s390x": { 270 | "version": "0.18.20", 271 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 272 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 273 | "cpu": [ 274 | "s390x" 275 | ], 276 | "dev": true, 277 | "optional": true, 278 | "os": [ 279 | "linux" 280 | ], 281 | "engines": { 282 | "node": ">=12" 283 | } 284 | }, 285 | "node_modules/@esbuild/linux-x64": { 286 | "version": "0.18.20", 287 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 288 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 289 | "cpu": [ 290 | "x64" 291 | ], 292 | "dev": true, 293 | "optional": true, 294 | "os": [ 295 | "linux" 296 | ], 297 | "engines": { 298 | "node": ">=12" 299 | } 300 | }, 301 | "node_modules/@esbuild/netbsd-x64": { 302 | "version": "0.18.20", 303 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 304 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 305 | "cpu": [ 306 | "x64" 307 | ], 308 | "dev": true, 309 | "optional": true, 310 | "os": [ 311 | "netbsd" 312 | ], 313 | "engines": { 314 | "node": ">=12" 315 | } 316 | }, 317 | "node_modules/@esbuild/openbsd-x64": { 318 | "version": "0.18.20", 319 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 320 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 321 | "cpu": [ 322 | "x64" 323 | ], 324 | "dev": true, 325 | "optional": true, 326 | "os": [ 327 | "openbsd" 328 | ], 329 | "engines": { 330 | "node": ">=12" 331 | } 332 | }, 333 | "node_modules/@esbuild/sunos-x64": { 334 | "version": "0.18.20", 335 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 336 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 337 | "cpu": [ 338 | "x64" 339 | ], 340 | "dev": true, 341 | "optional": true, 342 | "os": [ 343 | "sunos" 344 | ], 345 | "engines": { 346 | "node": ">=12" 347 | } 348 | }, 349 | "node_modules/@esbuild/win32-arm64": { 350 | "version": "0.18.20", 351 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 352 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 353 | "cpu": [ 354 | "arm64" 355 | ], 356 | "dev": true, 357 | "optional": true, 358 | "os": [ 359 | "win32" 360 | ], 361 | "engines": { 362 | "node": ">=12" 363 | } 364 | }, 365 | "node_modules/@esbuild/win32-ia32": { 366 | "version": "0.18.20", 367 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 368 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 369 | "cpu": [ 370 | "ia32" 371 | ], 372 | "dev": true, 373 | "optional": true, 374 | "os": [ 375 | "win32" 376 | ], 377 | "engines": { 378 | "node": ">=12" 379 | } 380 | }, 381 | "node_modules/@esbuild/win32-x64": { 382 | "version": "0.18.20", 383 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 384 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 385 | "cpu": [ 386 | "x64" 387 | ], 388 | "dev": true, 389 | "optional": true, 390 | "os": [ 391 | "win32" 392 | ], 393 | "engines": { 394 | "node": ">=12" 395 | } 396 | }, 397 | "node_modules/@hono/node-server": { 398 | "version": "1.1.1", 399 | "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.1.1.tgz", 400 | "integrity": "sha512-0ZfrcW8Y+TAGNzKGoDB1iQ7Gv7uGsGDOYlz7nckXcHRpK60Oxuz1ttiFmdHYmI6kGO+/VJ8Iy58LDhoTPqkiow==", 401 | "engines": { 402 | "node": ">=18.0.0" 403 | } 404 | }, 405 | "node_modules/buffer-from": { 406 | "version": "1.1.2", 407 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 408 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 409 | "dev": true 410 | }, 411 | "node_modules/esbuild": { 412 | "version": "0.18.20", 413 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 414 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 415 | "dev": true, 416 | "hasInstallScript": true, 417 | "bin": { 418 | "esbuild": "bin/esbuild" 419 | }, 420 | "engines": { 421 | "node": ">=12" 422 | }, 423 | "optionalDependencies": { 424 | "@esbuild/android-arm": "0.18.20", 425 | "@esbuild/android-arm64": "0.18.20", 426 | "@esbuild/android-x64": "0.18.20", 427 | "@esbuild/darwin-arm64": "0.18.20", 428 | "@esbuild/darwin-x64": "0.18.20", 429 | "@esbuild/freebsd-arm64": "0.18.20", 430 | "@esbuild/freebsd-x64": "0.18.20", 431 | "@esbuild/linux-arm": "0.18.20", 432 | "@esbuild/linux-arm64": "0.18.20", 433 | "@esbuild/linux-ia32": "0.18.20", 434 | "@esbuild/linux-loong64": "0.18.20", 435 | "@esbuild/linux-mips64el": "0.18.20", 436 | "@esbuild/linux-ppc64": "0.18.20", 437 | "@esbuild/linux-riscv64": "0.18.20", 438 | "@esbuild/linux-s390x": "0.18.20", 439 | "@esbuild/linux-x64": "0.18.20", 440 | "@esbuild/netbsd-x64": "0.18.20", 441 | "@esbuild/openbsd-x64": "0.18.20", 442 | "@esbuild/sunos-x64": "0.18.20", 443 | "@esbuild/win32-arm64": "0.18.20", 444 | "@esbuild/win32-ia32": "0.18.20", 445 | "@esbuild/win32-x64": "0.18.20" 446 | } 447 | }, 448 | "node_modules/fsevents": { 449 | "version": "2.3.3", 450 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 451 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 452 | "dev": true, 453 | "hasInstallScript": true, 454 | "optional": true, 455 | "os": [ 456 | "darwin" 457 | ], 458 | "engines": { 459 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 460 | } 461 | }, 462 | "node_modules/get-tsconfig": { 463 | "version": "4.7.0", 464 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz", 465 | "integrity": "sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==", 466 | "dev": true, 467 | "dependencies": { 468 | "resolve-pkg-maps": "^1.0.0" 469 | }, 470 | "funding": { 471 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 472 | } 473 | }, 474 | "node_modules/hono": { 475 | "version": "3.6.3", 476 | "resolved": "https://registry.npmjs.org/hono/-/hono-3.6.3.tgz", 477 | "integrity": "sha512-8WszeHGzUm45qJy2JcCXkEFXMsAysciGGQs+fbpdUYPO2bRMbjJznZE3LX8tCXBqR4f/3e6225B3YOX6pQZWvA==", 478 | "engines": { 479 | "node": ">=16.0.0" 480 | } 481 | }, 482 | "node_modules/resolve-pkg-maps": { 483 | "version": "1.0.0", 484 | "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 485 | "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 486 | "dev": true, 487 | "funding": { 488 | "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 489 | } 490 | }, 491 | "node_modules/source-map": { 492 | "version": "0.6.1", 493 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 494 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 495 | "dev": true, 496 | "engines": { 497 | "node": ">=0.10.0" 498 | } 499 | }, 500 | "node_modules/source-map-support": { 501 | "version": "0.5.21", 502 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 503 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 504 | "dev": true, 505 | "dependencies": { 506 | "buffer-from": "^1.0.0", 507 | "source-map": "^0.6.0" 508 | } 509 | }, 510 | "node_modules/tsx": { 511 | "version": "3.12.10", 512 | "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.10.tgz", 513 | "integrity": "sha512-2+46h4xvUt1aLDNvk5YBT8Uzw+b7BolGbn7iSMucYqCXZiDc+1IMghLVdw8kKjING32JFOeO+Am9posvjkeclA==", 514 | "dev": true, 515 | "dependencies": { 516 | "@esbuild-kit/cjs-loader": "^2.4.2", 517 | "@esbuild-kit/core-utils": "^3.3.0", 518 | "@esbuild-kit/esm-loader": "^2.6.3" 519 | }, 520 | "bin": { 521 | "tsx": "dist/cli.js" 522 | }, 523 | "optionalDependencies": { 524 | "fsevents": "~2.3.2" 525 | } 526 | } 527 | } 528 | } 529 | -------------------------------------------------------------------------------- /http/rust/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "async-trait" 22 | version = "0.1.73" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" 25 | dependencies = [ 26 | "proc-macro2", 27 | "quote", 28 | "syn", 29 | ] 30 | 31 | [[package]] 32 | name = "autocfg" 33 | version = "1.1.0" 34 | source = "registry+https://github.com/rust-lang/crates.io-index" 35 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 36 | 37 | [[package]] 38 | name = "axum" 39 | version = "0.6.20" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" 42 | dependencies = [ 43 | "async-trait", 44 | "axum-core", 45 | "bitflags", 46 | "bytes", 47 | "futures-util", 48 | "http", 49 | "http-body", 50 | "hyper", 51 | "itoa", 52 | "matchit", 53 | "memchr", 54 | "mime", 55 | "percent-encoding", 56 | "pin-project-lite", 57 | "rustversion", 58 | "serde", 59 | "serde_json", 60 | "serde_path_to_error", 61 | "serde_urlencoded", 62 | "sync_wrapper", 63 | "tokio", 64 | "tower", 65 | "tower-layer", 66 | "tower-service", 67 | ] 68 | 69 | [[package]] 70 | name = "axum-core" 71 | version = "0.3.4" 72 | source = "registry+https://github.com/rust-lang/crates.io-index" 73 | checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" 74 | dependencies = [ 75 | "async-trait", 76 | "bytes", 77 | "futures-util", 78 | "http", 79 | "http-body", 80 | "mime", 81 | "rustversion", 82 | "tower-layer", 83 | "tower-service", 84 | ] 85 | 86 | [[package]] 87 | name = "backtrace" 88 | version = "0.3.69" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 91 | dependencies = [ 92 | "addr2line", 93 | "cc", 94 | "cfg-if", 95 | "libc", 96 | "miniz_oxide", 97 | "object", 98 | "rustc-demangle", 99 | ] 100 | 101 | [[package]] 102 | name = "bitflags" 103 | version = "1.3.2" 104 | source = "registry+https://github.com/rust-lang/crates.io-index" 105 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 106 | 107 | [[package]] 108 | name = "bytes" 109 | version = "1.5.0" 110 | source = "registry+https://github.com/rust-lang/crates.io-index" 111 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 112 | 113 | [[package]] 114 | name = "cc" 115 | version = "1.0.83" 116 | source = "registry+https://github.com/rust-lang/crates.io-index" 117 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 118 | dependencies = [ 119 | "libc", 120 | ] 121 | 122 | [[package]] 123 | name = "cfg-if" 124 | version = "1.0.0" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 127 | 128 | [[package]] 129 | name = "fnv" 130 | version = "1.0.7" 131 | source = "registry+https://github.com/rust-lang/crates.io-index" 132 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 133 | 134 | [[package]] 135 | name = "form_urlencoded" 136 | version = "1.2.0" 137 | source = "registry+https://github.com/rust-lang/crates.io-index" 138 | checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 139 | dependencies = [ 140 | "percent-encoding", 141 | ] 142 | 143 | [[package]] 144 | name = "futures-channel" 145 | version = "0.3.28" 146 | source = "registry+https://github.com/rust-lang/crates.io-index" 147 | checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 148 | dependencies = [ 149 | "futures-core", 150 | ] 151 | 152 | [[package]] 153 | name = "futures-core" 154 | version = "0.3.28" 155 | source = "registry+https://github.com/rust-lang/crates.io-index" 156 | checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 157 | 158 | [[package]] 159 | name = "futures-task" 160 | version = "0.3.28" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 163 | 164 | [[package]] 165 | name = "futures-util" 166 | version = "0.3.28" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 169 | dependencies = [ 170 | "futures-core", 171 | "futures-task", 172 | "pin-project-lite", 173 | "pin-utils", 174 | ] 175 | 176 | [[package]] 177 | name = "gimli" 178 | version = "0.28.0" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" 181 | 182 | [[package]] 183 | name = "hermit-abi" 184 | version = "0.3.2" 185 | source = "registry+https://github.com/rust-lang/crates.io-index" 186 | checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 187 | 188 | [[package]] 189 | name = "http" 190 | version = "0.2.9" 191 | source = "registry+https://github.com/rust-lang/crates.io-index" 192 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 193 | dependencies = [ 194 | "bytes", 195 | "fnv", 196 | "itoa", 197 | ] 198 | 199 | [[package]] 200 | name = "http-body" 201 | version = "0.4.5" 202 | source = "registry+https://github.com/rust-lang/crates.io-index" 203 | checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" 204 | dependencies = [ 205 | "bytes", 206 | "http", 207 | "pin-project-lite", 208 | ] 209 | 210 | [[package]] 211 | name = "httparse" 212 | version = "1.8.0" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 215 | 216 | [[package]] 217 | name = "httpdate" 218 | version = "1.0.3" 219 | source = "registry+https://github.com/rust-lang/crates.io-index" 220 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 221 | 222 | [[package]] 223 | name = "hyper" 224 | version = "0.14.27" 225 | source = "registry+https://github.com/rust-lang/crates.io-index" 226 | checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" 227 | dependencies = [ 228 | "bytes", 229 | "futures-channel", 230 | "futures-core", 231 | "futures-util", 232 | "http", 233 | "http-body", 234 | "httparse", 235 | "httpdate", 236 | "itoa", 237 | "pin-project-lite", 238 | "socket2 0.4.9", 239 | "tokio", 240 | "tower-service", 241 | "tracing", 242 | "want", 243 | ] 244 | 245 | [[package]] 246 | name = "itoa" 247 | version = "1.0.9" 248 | source = "registry+https://github.com/rust-lang/crates.io-index" 249 | checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 250 | 251 | [[package]] 252 | name = "libc" 253 | version = "0.2.147" 254 | source = "registry+https://github.com/rust-lang/crates.io-index" 255 | checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 256 | 257 | [[package]] 258 | name = "lock_api" 259 | version = "0.4.10" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 262 | dependencies = [ 263 | "autocfg", 264 | "scopeguard", 265 | ] 266 | 267 | [[package]] 268 | name = "log" 269 | version = "0.4.20" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 272 | 273 | [[package]] 274 | name = "matchit" 275 | version = "0.7.2" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" 278 | 279 | [[package]] 280 | name = "memchr" 281 | version = "2.6.3" 282 | source = "registry+https://github.com/rust-lang/crates.io-index" 283 | checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 284 | 285 | [[package]] 286 | name = "mime" 287 | version = "0.3.17" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 290 | 291 | [[package]] 292 | name = "miniz_oxide" 293 | version = "0.7.1" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 296 | dependencies = [ 297 | "adler", 298 | ] 299 | 300 | [[package]] 301 | name = "mio" 302 | version = "0.8.8" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" 305 | dependencies = [ 306 | "libc", 307 | "wasi", 308 | "windows-sys", 309 | ] 310 | 311 | [[package]] 312 | name = "num_cpus" 313 | version = "1.16.0" 314 | source = "registry+https://github.com/rust-lang/crates.io-index" 315 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 316 | dependencies = [ 317 | "hermit-abi", 318 | "libc", 319 | ] 320 | 321 | [[package]] 322 | name = "object" 323 | version = "0.32.1" 324 | source = "registry+https://github.com/rust-lang/crates.io-index" 325 | checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" 326 | dependencies = [ 327 | "memchr", 328 | ] 329 | 330 | [[package]] 331 | name = "once_cell" 332 | version = "1.18.0" 333 | source = "registry+https://github.com/rust-lang/crates.io-index" 334 | checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 335 | 336 | [[package]] 337 | name = "parking_lot" 338 | version = "0.12.1" 339 | source = "registry+https://github.com/rust-lang/crates.io-index" 340 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 341 | dependencies = [ 342 | "lock_api", 343 | "parking_lot_core", 344 | ] 345 | 346 | [[package]] 347 | name = "parking_lot_core" 348 | version = "0.9.8" 349 | source = "registry+https://github.com/rust-lang/crates.io-index" 350 | checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" 351 | dependencies = [ 352 | "cfg-if", 353 | "libc", 354 | "redox_syscall", 355 | "smallvec", 356 | "windows-targets", 357 | ] 358 | 359 | [[package]] 360 | name = "percent-encoding" 361 | version = "2.3.0" 362 | source = "registry+https://github.com/rust-lang/crates.io-index" 363 | checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 364 | 365 | [[package]] 366 | name = "pin-project" 367 | version = "1.1.3" 368 | source = "registry+https://github.com/rust-lang/crates.io-index" 369 | checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" 370 | dependencies = [ 371 | "pin-project-internal", 372 | ] 373 | 374 | [[package]] 375 | name = "pin-project-internal" 376 | version = "1.1.3" 377 | source = "registry+https://github.com/rust-lang/crates.io-index" 378 | checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" 379 | dependencies = [ 380 | "proc-macro2", 381 | "quote", 382 | "syn", 383 | ] 384 | 385 | [[package]] 386 | name = "pin-project-lite" 387 | version = "0.2.13" 388 | source = "registry+https://github.com/rust-lang/crates.io-index" 389 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 390 | 391 | [[package]] 392 | name = "pin-utils" 393 | version = "0.1.0" 394 | source = "registry+https://github.com/rust-lang/crates.io-index" 395 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 396 | 397 | [[package]] 398 | name = "proc-macro2" 399 | version = "1.0.66" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" 402 | dependencies = [ 403 | "unicode-ident", 404 | ] 405 | 406 | [[package]] 407 | name = "quote" 408 | version = "1.0.33" 409 | source = "registry+https://github.com/rust-lang/crates.io-index" 410 | checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" 411 | dependencies = [ 412 | "proc-macro2", 413 | ] 414 | 415 | [[package]] 416 | name = "redox_syscall" 417 | version = "0.3.5" 418 | source = "registry+https://github.com/rust-lang/crates.io-index" 419 | checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 420 | dependencies = [ 421 | "bitflags", 422 | ] 423 | 424 | [[package]] 425 | name = "rust" 426 | version = "0.1.0" 427 | dependencies = [ 428 | "axum", 429 | "serde_json", 430 | "tokio", 431 | ] 432 | 433 | [[package]] 434 | name = "rustc-demangle" 435 | version = "0.1.23" 436 | source = "registry+https://github.com/rust-lang/crates.io-index" 437 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 438 | 439 | [[package]] 440 | name = "rustversion" 441 | version = "1.0.14" 442 | source = "registry+https://github.com/rust-lang/crates.io-index" 443 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" 444 | 445 | [[package]] 446 | name = "ryu" 447 | version = "1.0.15" 448 | source = "registry+https://github.com/rust-lang/crates.io-index" 449 | checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 450 | 451 | [[package]] 452 | name = "scopeguard" 453 | version = "1.2.0" 454 | source = "registry+https://github.com/rust-lang/crates.io-index" 455 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 456 | 457 | [[package]] 458 | name = "serde" 459 | version = "1.0.188" 460 | source = "registry+https://github.com/rust-lang/crates.io-index" 461 | checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 462 | dependencies = [ 463 | "serde_derive", 464 | ] 465 | 466 | [[package]] 467 | name = "serde_derive" 468 | version = "1.0.188" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 471 | dependencies = [ 472 | "proc-macro2", 473 | "quote", 474 | "syn", 475 | ] 476 | 477 | [[package]] 478 | name = "serde_json" 479 | version = "1.0.106" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2" 482 | dependencies = [ 483 | "itoa", 484 | "ryu", 485 | "serde", 486 | ] 487 | 488 | [[package]] 489 | name = "serde_path_to_error" 490 | version = "0.1.14" 491 | source = "registry+https://github.com/rust-lang/crates.io-index" 492 | checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" 493 | dependencies = [ 494 | "itoa", 495 | "serde", 496 | ] 497 | 498 | [[package]] 499 | name = "serde_urlencoded" 500 | version = "0.7.1" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 503 | dependencies = [ 504 | "form_urlencoded", 505 | "itoa", 506 | "ryu", 507 | "serde", 508 | ] 509 | 510 | [[package]] 511 | name = "signal-hook-registry" 512 | version = "1.4.1" 513 | source = "registry+https://github.com/rust-lang/crates.io-index" 514 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 515 | dependencies = [ 516 | "libc", 517 | ] 518 | 519 | [[package]] 520 | name = "smallvec" 521 | version = "1.11.0" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 524 | 525 | [[package]] 526 | name = "socket2" 527 | version = "0.4.9" 528 | source = "registry+https://github.com/rust-lang/crates.io-index" 529 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" 530 | dependencies = [ 531 | "libc", 532 | "winapi", 533 | ] 534 | 535 | [[package]] 536 | name = "socket2" 537 | version = "0.5.3" 538 | source = "registry+https://github.com/rust-lang/crates.io-index" 539 | checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" 540 | dependencies = [ 541 | "libc", 542 | "windows-sys", 543 | ] 544 | 545 | [[package]] 546 | name = "syn" 547 | version = "2.0.32" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" 550 | dependencies = [ 551 | "proc-macro2", 552 | "quote", 553 | "unicode-ident", 554 | ] 555 | 556 | [[package]] 557 | name = "sync_wrapper" 558 | version = "0.1.2" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 561 | 562 | [[package]] 563 | name = "tokio" 564 | version = "1.32.0" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" 567 | dependencies = [ 568 | "backtrace", 569 | "bytes", 570 | "libc", 571 | "mio", 572 | "num_cpus", 573 | "parking_lot", 574 | "pin-project-lite", 575 | "signal-hook-registry", 576 | "socket2 0.5.3", 577 | "tokio-macros", 578 | "windows-sys", 579 | ] 580 | 581 | [[package]] 582 | name = "tokio-macros" 583 | version = "2.1.0" 584 | source = "registry+https://github.com/rust-lang/crates.io-index" 585 | checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" 586 | dependencies = [ 587 | "proc-macro2", 588 | "quote", 589 | "syn", 590 | ] 591 | 592 | [[package]] 593 | name = "tower" 594 | version = "0.4.13" 595 | source = "registry+https://github.com/rust-lang/crates.io-index" 596 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 597 | dependencies = [ 598 | "futures-core", 599 | "futures-util", 600 | "pin-project", 601 | "pin-project-lite", 602 | "tokio", 603 | "tower-layer", 604 | "tower-service", 605 | "tracing", 606 | ] 607 | 608 | [[package]] 609 | name = "tower-layer" 610 | version = "0.3.2" 611 | source = "registry+https://github.com/rust-lang/crates.io-index" 612 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 613 | 614 | [[package]] 615 | name = "tower-service" 616 | version = "0.3.2" 617 | source = "registry+https://github.com/rust-lang/crates.io-index" 618 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 619 | 620 | [[package]] 621 | name = "tracing" 622 | version = "0.1.37" 623 | source = "registry+https://github.com/rust-lang/crates.io-index" 624 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 625 | dependencies = [ 626 | "cfg-if", 627 | "log", 628 | "pin-project-lite", 629 | "tracing-core", 630 | ] 631 | 632 | [[package]] 633 | name = "tracing-core" 634 | version = "0.1.31" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 637 | dependencies = [ 638 | "once_cell", 639 | ] 640 | 641 | [[package]] 642 | name = "try-lock" 643 | version = "0.2.4" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" 646 | 647 | [[package]] 648 | name = "unicode-ident" 649 | version = "1.0.11" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" 652 | 653 | [[package]] 654 | name = "want" 655 | version = "0.3.1" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 658 | dependencies = [ 659 | "try-lock", 660 | ] 661 | 662 | [[package]] 663 | name = "wasi" 664 | version = "0.11.0+wasi-snapshot-preview1" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 667 | 668 | [[package]] 669 | name = "winapi" 670 | version = "0.3.9" 671 | source = "registry+https://github.com/rust-lang/crates.io-index" 672 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 673 | dependencies = [ 674 | "winapi-i686-pc-windows-gnu", 675 | "winapi-x86_64-pc-windows-gnu", 676 | ] 677 | 678 | [[package]] 679 | name = "winapi-i686-pc-windows-gnu" 680 | version = "0.4.0" 681 | source = "registry+https://github.com/rust-lang/crates.io-index" 682 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 683 | 684 | [[package]] 685 | name = "winapi-x86_64-pc-windows-gnu" 686 | version = "0.4.0" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 689 | 690 | [[package]] 691 | name = "windows-sys" 692 | version = "0.48.0" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 695 | dependencies = [ 696 | "windows-targets", 697 | ] 698 | 699 | [[package]] 700 | name = "windows-targets" 701 | version = "0.48.5" 702 | source = "registry+https://github.com/rust-lang/crates.io-index" 703 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 704 | dependencies = [ 705 | "windows_aarch64_gnullvm", 706 | "windows_aarch64_msvc", 707 | "windows_i686_gnu", 708 | "windows_i686_msvc", 709 | "windows_x86_64_gnu", 710 | "windows_x86_64_gnullvm", 711 | "windows_x86_64_msvc", 712 | ] 713 | 714 | [[package]] 715 | name = "windows_aarch64_gnullvm" 716 | version = "0.48.5" 717 | source = "registry+https://github.com/rust-lang/crates.io-index" 718 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 719 | 720 | [[package]] 721 | name = "windows_aarch64_msvc" 722 | version = "0.48.5" 723 | source = "registry+https://github.com/rust-lang/crates.io-index" 724 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 725 | 726 | [[package]] 727 | name = "windows_i686_gnu" 728 | version = "0.48.5" 729 | source = "registry+https://github.com/rust-lang/crates.io-index" 730 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 731 | 732 | [[package]] 733 | name = "windows_i686_msvc" 734 | version = "0.48.5" 735 | source = "registry+https://github.com/rust-lang/crates.io-index" 736 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 737 | 738 | [[package]] 739 | name = "windows_x86_64_gnu" 740 | version = "0.48.5" 741 | source = "registry+https://github.com/rust-lang/crates.io-index" 742 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 743 | 744 | [[package]] 745 | name = "windows_x86_64_gnullvm" 746 | version = "0.48.5" 747 | source = "registry+https://github.com/rust-lang/crates.io-index" 748 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 749 | 750 | [[package]] 751 | name = "windows_x86_64_msvc" 752 | version = "0.48.5" 753 | source = "registry+https://github.com/rust-lang/crates.io-index" 754 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 755 | --------------------------------------------------------------------------------