Compare commits
	
		
			4 Commits
		
	
	
		
			c9476bc2b5
			...
			f4ddd2f6df
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f4ddd2f6df | |||
| a200818518 | |||
| eb9a89d1c5 | |||
| 9f22c8fb14 | 
							
								
								
									
										553
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										553
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -2,6 +2,189 @@ | |||||||
| # It is not intended for manual editing. | # It is not intended for manual editing. | ||||||
| version = 4 | version = 4 | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-codec" | ||||||
|  | version = "0.5.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" | ||||||
|  | dependencies = [ | ||||||
|  |  "bitflags", | ||||||
|  |  "bytes", | ||||||
|  |  "futures-core", | ||||||
|  |  "futures-sink", | ||||||
|  |  "memchr", | ||||||
|  |  "pin-project-lite", | ||||||
|  |  "tokio", | ||||||
|  |  "tokio-util", | ||||||
|  |  "tracing", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-http" | ||||||
|  | version = "3.10.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9" | ||||||
|  | dependencies = [ | ||||||
|  |  "actix-codec", | ||||||
|  |  "actix-rt", | ||||||
|  |  "actix-service", | ||||||
|  |  "actix-utils", | ||||||
|  |  "base64", | ||||||
|  |  "bitflags", | ||||||
|  |  "brotli", | ||||||
|  |  "bytes", | ||||||
|  |  "bytestring", | ||||||
|  |  "derive_more", | ||||||
|  |  "encoding_rs", | ||||||
|  |  "flate2", | ||||||
|  |  "foldhash", | ||||||
|  |  "futures-core", | ||||||
|  |  "h2 0.3.26", | ||||||
|  |  "http 0.2.12", | ||||||
|  |  "httparse", | ||||||
|  |  "httpdate", | ||||||
|  |  "itoa", | ||||||
|  |  "language-tags", | ||||||
|  |  "local-channel", | ||||||
|  |  "mime", | ||||||
|  |  "percent-encoding", | ||||||
|  |  "pin-project-lite", | ||||||
|  |  "rand 0.9.0", | ||||||
|  |  "sha1", | ||||||
|  |  "smallvec", | ||||||
|  |  "tokio", | ||||||
|  |  "tokio-util", | ||||||
|  |  "tracing", | ||||||
|  |  "zstd", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-macros" | ||||||
|  | version = "0.2.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" | ||||||
|  | dependencies = [ | ||||||
|  |  "quote", | ||||||
|  |  "syn", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-router" | ||||||
|  | version = "0.5.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" | ||||||
|  | dependencies = [ | ||||||
|  |  "bytestring", | ||||||
|  |  "cfg-if", | ||||||
|  |  "http 0.2.12", | ||||||
|  |  "regex", | ||||||
|  |  "regex-lite", | ||||||
|  |  "serde", | ||||||
|  |  "tracing", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-rt" | ||||||
|  | version = "2.10.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" | ||||||
|  | dependencies = [ | ||||||
|  |  "futures-core", | ||||||
|  |  "tokio", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-server" | ||||||
|  | version = "2.5.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" | ||||||
|  | dependencies = [ | ||||||
|  |  "actix-rt", | ||||||
|  |  "actix-service", | ||||||
|  |  "actix-utils", | ||||||
|  |  "futures-core", | ||||||
|  |  "futures-util", | ||||||
|  |  "mio", | ||||||
|  |  "socket2", | ||||||
|  |  "tokio", | ||||||
|  |  "tracing", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-service" | ||||||
|  | version = "2.0.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f" | ||||||
|  | dependencies = [ | ||||||
|  |  "futures-core", | ||||||
|  |  "pin-project-lite", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-utils" | ||||||
|  | version = "3.0.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" | ||||||
|  | dependencies = [ | ||||||
|  |  "local-waker", | ||||||
|  |  "pin-project-lite", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-web" | ||||||
|  | version = "4.10.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d" | ||||||
|  | dependencies = [ | ||||||
|  |  "actix-codec", | ||||||
|  |  "actix-http", | ||||||
|  |  "actix-macros", | ||||||
|  |  "actix-router", | ||||||
|  |  "actix-rt", | ||||||
|  |  "actix-server", | ||||||
|  |  "actix-service", | ||||||
|  |  "actix-utils", | ||||||
|  |  "actix-web-codegen", | ||||||
|  |  "bytes", | ||||||
|  |  "bytestring", | ||||||
|  |  "cfg-if", | ||||||
|  |  "cookie", | ||||||
|  |  "derive_more", | ||||||
|  |  "encoding_rs", | ||||||
|  |  "foldhash", | ||||||
|  |  "futures-core", | ||||||
|  |  "futures-util", | ||||||
|  |  "impl-more", | ||||||
|  |  "itoa", | ||||||
|  |  "language-tags", | ||||||
|  |  "log", | ||||||
|  |  "mime", | ||||||
|  |  "once_cell", | ||||||
|  |  "pin-project-lite", | ||||||
|  |  "regex", | ||||||
|  |  "regex-lite", | ||||||
|  |  "serde", | ||||||
|  |  "serde_json", | ||||||
|  |  "serde_urlencoded", | ||||||
|  |  "smallvec", | ||||||
|  |  "socket2", | ||||||
|  |  "time", | ||||||
|  |  "tracing", | ||||||
|  |  "url", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "actix-web-codegen" | ||||||
|  | version = "4.3.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8" | ||||||
|  | dependencies = [ | ||||||
|  |  "actix-router", | ||||||
|  |  "proc-macro2", | ||||||
|  |  "quote", | ||||||
|  |  "syn", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "addr2line" | name = "addr2line" | ||||||
| version = "0.24.2" | version = "0.24.2" | ||||||
| @ -26,6 +209,21 @@ dependencies = [ | |||||||
|  "memchr", |  "memchr", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "alloc-no-stdlib" | ||||||
|  | version = "2.0.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "alloc-stdlib" | ||||||
|  | version = "0.2.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" | ||||||
|  | dependencies = [ | ||||||
|  |  "alloc-no-stdlib", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "android-tzdata" | name = "android-tzdata" | ||||||
| version = "0.1.1" | version = "0.1.1" | ||||||
| @ -152,7 +350,7 @@ dependencies = [ | |||||||
|  "axum-core", |  "axum-core", | ||||||
|  "bytes", |  "bytes", | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "http-body-util", |  "http-body-util", | ||||||
|  "itoa", |  "itoa", | ||||||
| @ -178,7 +376,7 @@ dependencies = [ | |||||||
|  "async-trait", |  "async-trait", | ||||||
|  "bytes", |  "bytes", | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "http-body-util", |  "http-body-util", | ||||||
|  "mime", |  "mime", | ||||||
| @ -235,6 +433,7 @@ dependencies = [ | |||||||
| name = "brain-mock" | name = "brain-mock" | ||||||
| version = "0.1.0" | version = "0.1.0" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "actix-web", | ||||||
|  "bs58", |  "bs58", | ||||||
|  "chrono", |  "chrono", | ||||||
|  "dashmap", |  "dashmap", | ||||||
| @ -255,6 +454,27 @@ dependencies = [ | |||||||
|  "uuid", |  "uuid", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "brotli" | ||||||
|  | version = "7.0.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" | ||||||
|  | dependencies = [ | ||||||
|  |  "alloc-no-stdlib", | ||||||
|  |  "alloc-stdlib", | ||||||
|  |  "brotli-decompressor", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "brotli-decompressor" | ||||||
|  | version = "4.0.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" | ||||||
|  | dependencies = [ | ||||||
|  |  "alloc-no-stdlib", | ||||||
|  |  "alloc-stdlib", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "bs58" | name = "bs58" | ||||||
| version = "0.5.1" | version = "0.5.1" | ||||||
| @ -276,12 +496,23 @@ version = "1.10.1" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" | checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "bytestring" | ||||||
|  | version = "1.4.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" | ||||||
|  | dependencies = [ | ||||||
|  |  "bytes", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "cc" | name = "cc" | ||||||
| version = "1.2.17" | version = "1.2.17" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" | checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "jobserver", | ||||||
|  |  "libc", | ||||||
|  "shlex", |  "shlex", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| @ -318,6 +549,17 @@ version = "0.9.6" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" | checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "cookie" | ||||||
|  | version = "0.16.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" | ||||||
|  | dependencies = [ | ||||||
|  |  "percent-encoding", | ||||||
|  |  "time", | ||||||
|  |  "version_check", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "core-foundation" | name = "core-foundation" | ||||||
| version = "0.9.4" | version = "0.9.4" | ||||||
| @ -343,6 +585,15 @@ dependencies = [ | |||||||
|  "libc", |  "libc", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "crc32fast" | ||||||
|  | version = "1.4.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" | ||||||
|  | dependencies = [ | ||||||
|  |  "cfg-if", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "crossbeam-utils" | name = "crossbeam-utils" | ||||||
| version = "0.8.21" | version = "0.8.21" | ||||||
| @ -411,6 +662,36 @@ dependencies = [ | |||||||
|  "zeroize", |  "zeroize", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "deranged" | ||||||
|  | version = "0.4.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" | ||||||
|  | dependencies = [ | ||||||
|  |  "powerfmt", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "derive_more" | ||||||
|  | version = "2.0.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" | ||||||
|  | dependencies = [ | ||||||
|  |  "derive_more-impl", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "derive_more-impl" | ||||||
|  | version = "2.0.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" | ||||||
|  | dependencies = [ | ||||||
|  |  "proc-macro2", | ||||||
|  |  "quote", | ||||||
|  |  "syn", | ||||||
|  |  "unicode-xid", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "detee-shared" | name = "detee-shared" | ||||||
| version = "0.1.0" | version = "0.1.0" | ||||||
| @ -542,12 +823,28 @@ version = "0.5.7" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" | checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "flate2" | ||||||
|  | version = "1.1.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" | ||||||
|  | dependencies = [ | ||||||
|  |  "crc32fast", | ||||||
|  |  "miniz_oxide", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "fnv" | name = "fnv" | ||||||
| version = "1.0.7" | version = "1.0.7" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "foldhash" | ||||||
|  | version = "0.1.5" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "foreign-types" | name = "foreign-types" | ||||||
| version = "0.3.2" | version = "0.3.2" | ||||||
| @ -650,6 +947,25 @@ version = "0.31.1" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "h2" | ||||||
|  | version = "0.3.26" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" | ||||||
|  | dependencies = [ | ||||||
|  |  "bytes", | ||||||
|  |  "fnv", | ||||||
|  |  "futures-core", | ||||||
|  |  "futures-sink", | ||||||
|  |  "futures-util", | ||||||
|  |  "http 0.2.12", | ||||||
|  |  "indexmap 2.8.0", | ||||||
|  |  "slab", | ||||||
|  |  "tokio", | ||||||
|  |  "tokio-util", | ||||||
|  |  "tracing", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "h2" | name = "h2" | ||||||
| version = "0.4.8" | version = "0.4.8" | ||||||
| @ -661,7 +977,7 @@ dependencies = [ | |||||||
|  "fnv", |  "fnv", | ||||||
|  "futures-core", |  "futures-core", | ||||||
|  "futures-sink", |  "futures-sink", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "indexmap 2.8.0", |  "indexmap 2.8.0", | ||||||
|  "slab", |  "slab", | ||||||
|  "tokio", |  "tokio", | ||||||
| @ -693,6 +1009,17 @@ version = "0.5.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "http" | ||||||
|  | version = "0.2.12" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" | ||||||
|  | dependencies = [ | ||||||
|  |  "bytes", | ||||||
|  |  "fnv", | ||||||
|  |  "itoa", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "http" | name = "http" | ||||||
| version = "1.3.1" | version = "1.3.1" | ||||||
| @ -711,7 +1038,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" | checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "bytes", |  "bytes", | ||||||
|  "http", |  "http 1.3.1", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| @ -722,7 +1049,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" | |||||||
| dependencies = [ | dependencies = [ | ||||||
|  "bytes", |  "bytes", | ||||||
|  "futures-core", |  "futures-core", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
| ] | ] | ||||||
| @ -748,8 +1075,8 @@ dependencies = [ | |||||||
|  "bytes", |  "bytes", | ||||||
|  "futures-channel", |  "futures-channel", | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "h2", |  "h2 0.4.8", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "httparse", |  "httparse", | ||||||
|  "httpdate", |  "httpdate", | ||||||
| @ -767,7 +1094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" | checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "hyper", |  "hyper", | ||||||
|  "hyper-util", |  "hyper-util", | ||||||
|  "rustls", |  "rustls", | ||||||
| @ -815,7 +1142,7 @@ dependencies = [ | |||||||
|  "bytes", |  "bytes", | ||||||
|  "futures-channel", |  "futures-channel", | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "hyper", |  "hyper", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
| @ -987,6 +1314,12 @@ dependencies = [ | |||||||
|  "icu_properties", |  "icu_properties", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "impl-more" | ||||||
|  | version = "0.1.9" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "indexmap" | name = "indexmap" | ||||||
| version = "1.9.3" | version = "1.9.3" | ||||||
| @ -1058,6 +1391,16 @@ dependencies = [ | |||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "jobserver" | ||||||
|  | version = "0.1.33" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" | ||||||
|  | dependencies = [ | ||||||
|  |  "getrandom 0.3.2", | ||||||
|  |  "libc", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "js-sys" | name = "js-sys" | ||||||
| version = "0.3.77" | version = "0.3.77" | ||||||
| @ -1068,6 +1411,12 @@ dependencies = [ | |||||||
|  "wasm-bindgen", |  "wasm-bindgen", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "language-tags" | ||||||
|  | version = "0.3.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "libc" | name = "libc" | ||||||
| version = "0.2.171" | version = "0.2.171" | ||||||
| @ -1086,6 +1435,23 @@ version = "0.7.5" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" | checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "local-channel" | ||||||
|  | version = "0.1.5" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" | ||||||
|  | dependencies = [ | ||||||
|  |  "futures-core", | ||||||
|  |  "futures-sink", | ||||||
|  |  "local-waker", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "local-waker" | ||||||
|  | version = "0.1.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "lock_api" | name = "lock_api" | ||||||
| version = "0.4.12" | version = "0.4.12" | ||||||
| @ -1136,6 +1502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" | checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "libc", |  "libc", | ||||||
|  |  "log", | ||||||
|  "wasi 0.11.0+wasi-snapshot-preview1", |  "wasi 0.11.0+wasi-snapshot-preview1", | ||||||
|  "windows-sys 0.52.0", |  "windows-sys 0.52.0", | ||||||
| ] | ] | ||||||
| @ -1163,6 +1530,12 @@ dependencies = [ | |||||||
|  "tempfile", |  "tempfile", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "num-conv" | ||||||
|  | version = "0.1.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "num-traits" | name = "num-traits" | ||||||
| version = "0.2.19" | version = "0.2.19" | ||||||
| @ -1231,6 +1604,16 @@ dependencies = [ | |||||||
|  "vcpkg", |  "vcpkg", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "parking_lot" | ||||||
|  | version = "0.12.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" | ||||||
|  | dependencies = [ | ||||||
|  |  "lock_api", | ||||||
|  |  "parking_lot_core", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "parking_lot_core" | name = "parking_lot_core" | ||||||
| version = "0.9.10" | version = "0.9.10" | ||||||
| @ -1323,6 +1706,12 @@ dependencies = [ | |||||||
|  "portable-atomic", |  "portable-atomic", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "powerfmt" | ||||||
|  | version = "0.2.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ppv-lite86" | name = "ppv-lite86" | ||||||
| version = "0.2.21" | version = "0.2.21" | ||||||
| @ -1425,8 +1814,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "libc", |  "libc", | ||||||
|  "rand_chacha", |  "rand_chacha 0.3.1", | ||||||
|  "rand_core", |  "rand_core 0.6.4", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "rand" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" | ||||||
|  | dependencies = [ | ||||||
|  |  "rand_chacha 0.9.0", | ||||||
|  |  "rand_core 0.9.3", | ||||||
|  |  "zerocopy", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| @ -1436,7 +1836,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "ppv-lite86", |  "ppv-lite86", | ||||||
|  "rand_core", |  "rand_core 0.6.4", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "rand_chacha" | ||||||
|  | version = "0.9.0" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | ||||||
|  | dependencies = [ | ||||||
|  |  "ppv-lite86", | ||||||
|  |  "rand_core 0.9.3", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| @ -1448,6 +1858,15 @@ dependencies = [ | |||||||
|  "getrandom 0.2.15", |  "getrandom 0.2.15", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "rand_core" | ||||||
|  | version = "0.9.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" | ||||||
|  | dependencies = [ | ||||||
|  |  "getrandom 0.3.2", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "redox_syscall" | name = "redox_syscall" | ||||||
| version = "0.5.10" | version = "0.5.10" | ||||||
| @ -1480,6 +1899,12 @@ dependencies = [ | |||||||
|  "regex-syntax", |  "regex-syntax", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "regex-lite" | ||||||
|  | version = "0.1.6" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "regex-syntax" | name = "regex-syntax" | ||||||
| version = "0.8.5" | version = "0.8.5" | ||||||
| @ -1497,8 +1922,8 @@ dependencies = [ | |||||||
|  "encoding_rs", |  "encoding_rs", | ||||||
|  "futures-core", |  "futures-core", | ||||||
|  "futures-util", |  "futures-util", | ||||||
|  "h2", |  "h2 0.4.8", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "http-body-util", |  "http-body-util", | ||||||
|  "hyper", |  "hyper", | ||||||
| @ -1726,6 +2151,17 @@ dependencies = [ | |||||||
|  "unsafe-libyaml", |  "unsafe-libyaml", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "sha1" | ||||||
|  | version = "0.10.6" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" | ||||||
|  | dependencies = [ | ||||||
|  |  "cfg-if", | ||||||
|  |  "cpufeatures", | ||||||
|  |  "digest", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "sha2" | name = "sha2" | ||||||
| version = "0.10.8" | version = "0.10.8" | ||||||
| @ -1743,13 +2179,22 @@ version = "1.3.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "signal-hook-registry" | ||||||
|  | version = "1.4.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" | ||||||
|  | dependencies = [ | ||||||
|  |  "libc", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "signature" | name = "signature" | ||||||
| version = "2.2.0" | version = "2.2.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" | checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "rand_core", |  "rand_core 0.6.4", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| @ -1884,6 +2329,37 @@ dependencies = [ | |||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "time" | ||||||
|  | version = "0.3.41" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" | ||||||
|  | dependencies = [ | ||||||
|  |  "deranged", | ||||||
|  |  "itoa", | ||||||
|  |  "num-conv", | ||||||
|  |  "powerfmt", | ||||||
|  |  "serde", | ||||||
|  |  "time-core", | ||||||
|  |  "time-macros", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "time-core" | ||||||
|  | version = "0.1.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "time-macros" | ||||||
|  | version = "0.2.22" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" | ||||||
|  | dependencies = [ | ||||||
|  |  "num-conv", | ||||||
|  |  "time-core", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tinystr" | name = "tinystr" | ||||||
| version = "0.7.6" | version = "0.7.6" | ||||||
| @ -1911,15 +2387,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tokio" | name = "tokio" | ||||||
| version = "1.44.1" | version = "1.44.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" | checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "backtrace", |  "backtrace", | ||||||
|  "bytes", |  "bytes", | ||||||
|  "libc", |  "libc", | ||||||
|  "mio", |  "mio", | ||||||
|  |  "parking_lot", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  |  "signal-hook-registry", | ||||||
|  "socket2", |  "socket2", | ||||||
|  "tokio-macros", |  "tokio-macros", | ||||||
|  "windows-sys 0.52.0", |  "windows-sys 0.52.0", | ||||||
| @ -1991,8 +2469,8 @@ dependencies = [ | |||||||
|  "axum", |  "axum", | ||||||
|  "base64", |  "base64", | ||||||
|  "bytes", |  "bytes", | ||||||
|  "h2", |  "h2 0.4.8", | ||||||
|  "http", |  "http 1.3.1", | ||||||
|  "http-body", |  "http-body", | ||||||
|  "http-body-util", |  "http-body-util", | ||||||
|  "hyper", |  "hyper", | ||||||
| @ -2037,7 +2515,7 @@ dependencies = [ | |||||||
|  "indexmap 1.9.3", |  "indexmap 1.9.3", | ||||||
|  "pin-project", |  "pin-project", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  "rand", |  "rand 0.8.5", | ||||||
|  "slab", |  "slab", | ||||||
|  "tokio", |  "tokio", | ||||||
|  "tokio-util", |  "tokio-util", | ||||||
| @ -2079,6 +2557,7 @@ version = "0.1.41" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "log", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  "tracing-attributes", |  "tracing-attributes", | ||||||
|  "tracing-core", |  "tracing-core", | ||||||
| @ -2122,6 +2601,12 @@ version = "1.0.18" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" | checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "unicode-xid" | ||||||
|  | version = "0.2.6" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "unsafe-libyaml" | name = "unsafe-libyaml" | ||||||
| version = "0.2.11" | version = "0.2.11" | ||||||
| @ -2592,3 +3077,31 @@ dependencies = [ | |||||||
|  "quote", |  "quote", | ||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "zstd" | ||||||
|  | version = "0.13.3" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" | ||||||
|  | dependencies = [ | ||||||
|  |  "zstd-safe", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "zstd-safe" | ||||||
|  | version = "7.2.4" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" | ||||||
|  | dependencies = [ | ||||||
|  |  "zstd-sys", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "zstd-sys" | ||||||
|  | version = "2.0.15+zstd.1.5.7" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" | ||||||
|  | dependencies = [ | ||||||
|  |  "cc", | ||||||
|  |  "pkg-config", | ||||||
|  | ] | ||||||
|  | |||||||
| @ -16,12 +16,13 @@ reqwest = "0.12.10" | |||||||
| serde = { version = "1.0.217", features = ["derive"] } | serde = { version = "1.0.217", features = ["derive"] } | ||||||
| serde_yaml = "0.9.34" | serde_yaml = "0.9.34" | ||||||
| thiserror = "2.0.11" | thiserror = "2.0.11" | ||||||
| tokio = { version = "1.42.0", features = ["macros", "rt-multi-thread"] } | tokio = { version = "1.44", features = ["macros", "rt-multi-thread"] } | ||||||
| tokio-stream = "0.1.17" | tokio-stream = "0.1.17" | ||||||
| tonic = { version = "0.12", features = ["tls"] } | tonic = { version = "0.12", features = ["tls"] } | ||||||
| uuid = { version = "1.11.0", features = ["v4"] } | uuid = { version = "1.11.0", features = ["v4"] } | ||||||
| 
 | 
 | ||||||
| detee-shared = { git = "ssh://git@gitea.detee.cloud/testnet/proto", branch = "main" } | detee-shared = { git = "ssh://git@gitea.detee.cloud/testnet/proto", branch = "main" } | ||||||
|  | actix-web = "4.10" | ||||||
| # detee-shared = { path = "../detee-shared" } | # detee-shared = { path = "../detee-shared" } | ||||||
| 
 | 
 | ||||||
| [build-dependencies] | [build-dependencies] | ||||||
|  | |||||||
							
								
								
									
										42
									
								
								src/data.rs
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										42
									
								
								src/data.rs
									
									
									
									
									
								
							| @ -1452,7 +1452,7 @@ impl BrainData { | |||||||
|         let mut nodes = self.app_nodes.write().unwrap(); |         let mut nodes = self.app_nodes.write().unwrap(); | ||||||
|         let mut app_contracts = self.app_contracts.write().unwrap(); |         let mut app_contracts = self.app_contracts.write().unwrap(); | ||||||
|         for node in nodes.iter_mut() { |         for node in nodes.iter_mut() { | ||||||
|             if self.daemon_tx.contains_key(&node.node_pubkey) { |             if self.app_daemon_tx.contains_key(&node.node_pubkey) { | ||||||
|                 node.offline_minutes = 0; |                 node.offline_minutes = 0; | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
| @ -1501,8 +1501,17 @@ impl BrainData { | |||||||
|         log::debug!("Running app contracts cron..."); |         log::debug!("Running app contracts cron..."); | ||||||
|         { |         { | ||||||
|             let mut app_contracts = self.app_contracts.write().unwrap(); |             let mut app_contracts = self.app_contracts.write().unwrap(); | ||||||
|  |             let app_nodes = self.app_nodes.read().unwrap(); | ||||||
|             app_contracts.retain_mut(|c| { |             app_contracts.retain_mut(|c| { | ||||||
|                 let node = self.find_app_node_by_pubkey(&c.node_pubkey).unwrap(); |                 let node = match app_nodes | ||||||
|  |                     .iter() | ||||||
|  |                     .find(|n| n.node_pubkey == c.node_pubkey) | ||||||
|  |                     .cloned() | ||||||
|  |                 { | ||||||
|  |                     Some(n) => n, | ||||||
|  |                     None => return c.locked_nano > 0, | ||||||
|  |                 }; | ||||||
|  | 
 | ||||||
|                 if node.offline_minutes == 0 { |                 if node.offline_minutes == 0 { | ||||||
|                     let operator_wallet = node.operator_wallet.clone(); |                     let operator_wallet = node.operator_wallet.clone(); | ||||||
|                     let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64; |                     let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64; | ||||||
| @ -1724,3 +1733,32 @@ impl BrainData { | |||||||
|         self.app_contracts.write().unwrap().push(app_contracts); |         self.app_contracts.write().unwrap().push(app_contracts); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | impl BrainData { | ||||||
|  |     pub fn metrics(&self) -> Result<String, Error> { | ||||||
|  |         let app_nodes_read = self.app_nodes.read().unwrap(); | ||||||
|  |         let app_node_no = app_nodes_read.len(); | ||||||
|  |         drop(app_nodes_read); | ||||||
|  |         let vm_nodes_read = self.vm_nodes.read().unwrap(); | ||||||
|  |         let vm_node_no = vm_nodes_read.len(); | ||||||
|  |         drop(vm_nodes_read); | ||||||
|  |         let app_contract_no = self.list_all_app_contracts().len(); | ||||||
|  |         let vm_contract_no = self.list_all_contracts().len(); | ||||||
|  |         let account_no = self.list_accounts().len(); | ||||||
|  |         let operator_no = self.list_operators().len(); | ||||||
|  |         let locations = String::from("wip"); | ||||||
|  | 
 | ||||||
|  |         let metrics = vec![ | ||||||
|  |             format!("app_nodes {app_node_no}"), | ||||||
|  |             format!("vm_nodes {vm_node_no}"), | ||||||
|  |             format!("app_contracts {app_contract_no}"), | ||||||
|  |             format!("vm_contracts {vm_contract_no}"), | ||||||
|  |             format!("operators {operator_no}"), | ||||||
|  |             format!("accounts {account_no}"), | ||||||
|  |             format!("locations {locations}"), | ||||||
|  |         ] | ||||||
|  |         .join("\n"); | ||||||
|  | 
 | ||||||
|  |         Ok(metrics) | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | |||||||
							
								
								
									
										26
									
								
								src/http_server.rs
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										26
									
								
								src/http_server.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | |||||||
|  | use std::{net::SocketAddr, sync::Arc}; | ||||||
|  | 
 | ||||||
|  | use actix_web::{get, web, App, HttpResponse, HttpServer, Responder}; | ||||||
|  | 
 | ||||||
|  | use crate::data::BrainData; | ||||||
|  | 
 | ||||||
|  | pub async fn http_metrics_server(listen_address: SocketAddr, state: Arc<BrainData>) { | ||||||
|  |     HttpServer::new(move || { | ||||||
|  |         App::new() | ||||||
|  |             .app_data(web::Data::new(state.clone())) | ||||||
|  |             .service(homepage) | ||||||
|  |     }) | ||||||
|  |     .bind(listen_address) | ||||||
|  |     .unwrap() | ||||||
|  |     .disable_signals() | ||||||
|  |     .run() | ||||||
|  |     .await | ||||||
|  |     .unwrap(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #[get("/metrics")] | ||||||
|  | async fn homepage(data: web::Data<Arc<BrainData>>) -> impl Responder { | ||||||
|  |     let metrics_data = data.get_ref().metrics().unwrap_or_default(); | ||||||
|  | 
 | ||||||
|  |     HttpResponse::Ok().body(metrics_data) | ||||||
|  | } | ||||||
| @ -1,5 +1,6 @@ | |||||||
| mod data; | mod data; | ||||||
| mod grpc; | mod grpc; | ||||||
|  | mod http_server; | ||||||
| 
 | 
 | ||||||
| use data::BrainData; | use data::BrainData; | ||||||
| use detee_shared::app_proto::brain_app_cli_server::BrainAppCliServer; | use detee_shared::app_proto::brain_app_cli_server::BrainAppCliServer; | ||||||
| @ -12,6 +13,7 @@ use grpc::BrainAppDaemonMock; | |||||||
| use grpc::BrainGeneraClilMock; | use grpc::BrainGeneraClilMock; | ||||||
| use grpc::BrainVmCliMock; | use grpc::BrainVmCliMock; | ||||||
| use grpc::BrainVmDaemonMock; | use grpc::BrainVmDaemonMock; | ||||||
|  | use http_server::http_metrics_server; | ||||||
| use std::sync::Arc; | use std::sync::Arc; | ||||||
| use tonic::transport::Identity; | use tonic::transport::Identity; | ||||||
| use tonic::transport::Server; | use tonic::transport::Server; | ||||||
| @ -37,6 +39,8 @@ async fn main() { | |||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|     let addr = "0.0.0.0:31337".parse().unwrap(); |     let addr = "0.0.0.0:31337".parse().unwrap(); | ||||||
|  |     let http_addr = "0.0.0.0:51337".parse().unwrap(); | ||||||
|  |     let _ = tokio::spawn(http_metrics_server(http_addr, data.clone())); | ||||||
| 
 | 
 | ||||||
|     let snp_daemon_server = BrainVmDaemonServer::new(BrainVmDaemonMock::new(data.clone())); |     let snp_daemon_server = BrainVmDaemonServer::new(BrainVmDaemonMock::new(data.clone())); | ||||||
|     let snp_cli_server = BrainVmCliServer::new(BrainVmCliMock::new(data.clone())); |     let snp_cli_server = BrainVmCliServer::new(BrainVmCliMock::new(data.clone())); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user