From dcb7de37045ea60d260dc6f2ad67449e392c44a5 Mon Sep 17 00:00:00 2001 From: Andy Aylward Date: Mon, 2 Mar 2026 15:28:01 -0500 Subject: [PATCH 1/2] fix(microgpt-serve): use reqwest-blocking-client for OTLP exporter The previous fix dropped `rt-tokio` from opentelemetry_sdk to stop the PeriodicReader from using tokio::time, but the OTLP HTTP exporter was still using `reqwest-client` (async reqwest), which also requires a Tokio reactor. When the PeriodicReader OS thread fires its export, it calls into async reqwest with no runtime present, causing the same "no reactor running" panic. Switch to `reqwest-blocking-client` so the entire OTel export path is synchronous and reactor-free. Verified locally: service starts without panic under OTEL_METRIC_EXPORT_INTERVAL=2000ms with a real model. --- Cargo.lock | 2 ++ Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index bc7700bf..d113a5e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4842,7 +4842,9 @@ checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64 0.22.1", "bytes", + "futures-channel", "futures-core", + "futures-util", "http", "http-body", "http-body-util", diff --git a/Cargo.toml b/Cargo.toml index a4f75635..020ba938 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,4 +75,4 @@ arrow = { version = "57", features = ["json"] } parquet = { version = "57", features = ["arrow"] } opentelemetry = { version = "0.31", features = ["metrics"] } opentelemetry_sdk = { version = "0.31", features = ["metrics"] } -opentelemetry-otlp = { version = "0.31", default-features = false, features = ["metrics", "http-proto", "reqwest-client"] } +opentelemetry-otlp = { version = "0.31", default-features = false, features = ["metrics", "http-proto", "reqwest-blocking-client"] } From 80cc5ab0220074ac04b2605ab81d402c5ae2a4a6 Mon Sep 17 00:00:00 2001 From: Andy Aylward Date: Mon, 2 Mar 2026 15:29:00 -0500 Subject: [PATCH 2/2] chore: update MODULE.bazel.lock after switching to reqwest-blocking-client --- MODULE.bazel.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index bbc9405f..f4ce9972 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1673,8 +1673,8 @@ "REPO_MAPPING:rules_rust+,bazel_tools bazel_tools", "REPO_MAPPING:rules_rust+,rules_cc rules_cc+", "REPO_MAPPING:rules_rust+,rules_rust rules_rust+", - "FILE:@@//Cargo.lock 4d5a9310393d4de6c96112a0be7069d5a613d2789a3bdd58370d4453cfbe001e", - "FILE:@@//Cargo.toml 79e62ad08c5f1ddd6cd734ab7f73c6058db3894b8ce28119c7dd4083524c4b0a", + "FILE:@@//Cargo.lock 764a68f1c686bf64ab0c92cf323ac88f84c8f128d20b64cf689eac3ed493a03f", + "FILE:@@//Cargo.toml d45172dc5448cd34c3e24dc8aa4d4b4e08b7068a6f334b597cd3dd34e7027717", "FILE:@@//domains/ai/apps/impact_mcp/Cargo.toml cb8ce51e9dff830e9569f81f8c9ee8bc0fb4c2cf084967314b4a123f85b3f962", "FILE:@@//domains/ai/apps/microgpt_cli/Cargo.toml ae46b29167da1b1337f0f00ffe83d7273dcfef1858e28ce9e47bc5c75a9aa7e8", "FILE:@@//domains/ai/libs/microgpt/Cargo.toml 890a96f46963d4f49a8b6e4e110788f6269b021702df2c8b2a225a0e9d2f07ff", @@ -6209,7 +6209,7 @@ "https://static.crates.io/crates/opentelemetry-http/0.31.0/download" ], "strip_prefix": "opentelemetry-http-0.31.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"opentelemetry_http\",\n deps = [\n \"@crates__bytes-1.11.1//:bytes\",\n \"@crates__http-1.4.0//:http\",\n \"@crates__opentelemetry-0.31.0//:opentelemetry\",\n \"@crates__reqwest-0.12.28//:reqwest\",\n ],\n proc_macro_deps = [\n \"@crates__async-trait-0.1.89//:async_trait\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"reqwest\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=opentelemetry-http\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"opentelemetry_http\",\n deps = [\n \"@crates__bytes-1.11.1//:bytes\",\n \"@crates__http-1.4.0//:http\",\n \"@crates__opentelemetry-0.31.0//:opentelemetry\",\n \"@crates__reqwest-0.12.28//:reqwest\",\n ],\n proc_macro_deps = [\n \"@crates__async-trait-0.1.89//:async_trait\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"reqwest\",\n \"reqwest-blocking\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=opentelemetry-http\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.0\",\n)\n" } }, "crates__opentelemetry-otlp-0.31.0": { @@ -6222,7 +6222,7 @@ "https://static.crates.io/crates/opentelemetry-otlp/0.31.0/download" ], "strip_prefix": "opentelemetry-otlp-0.31.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"opentelemetry_otlp\",\n deps = [\n \"@crates__http-1.4.0//:http\",\n \"@crates__opentelemetry-0.31.0//:opentelemetry\",\n \"@crates__opentelemetry-http-0.31.0//:opentelemetry_http\",\n \"@crates__opentelemetry-proto-0.31.0//:opentelemetry_proto\",\n \"@crates__opentelemetry_sdk-0.31.0//:opentelemetry_sdk\",\n \"@crates__prost-0.14.3//:prost\",\n \"@crates__reqwest-0.12.28//:reqwest\",\n \"@crates__thiserror-2.0.18//:thiserror\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"http\",\n \"http-proto\",\n \"metrics\",\n \"opentelemetry-http\",\n \"prost\",\n \"reqwest\",\n \"reqwest-client\",\n \"trace\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=opentelemetry-otlp\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"opentelemetry_otlp\",\n deps = [\n \"@crates__http-1.4.0//:http\",\n \"@crates__opentelemetry-0.31.0//:opentelemetry\",\n \"@crates__opentelemetry-http-0.31.0//:opentelemetry_http\",\n \"@crates__opentelemetry-proto-0.31.0//:opentelemetry_proto\",\n \"@crates__opentelemetry_sdk-0.31.0//:opentelemetry_sdk\",\n \"@crates__prost-0.14.3//:prost\",\n \"@crates__reqwest-0.12.28//:reqwest\",\n \"@crates__thiserror-2.0.18//:thiserror\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"http\",\n \"http-proto\",\n \"metrics\",\n \"opentelemetry-http\",\n \"prost\",\n \"reqwest\",\n \"reqwest-blocking-client\",\n \"trace\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=opentelemetry-otlp\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.0\",\n)\n" } }, "crates__opentelemetry-proto-0.31.0": { @@ -7067,7 +7067,7 @@ "https://static.crates.io/crates/reqwest/0.12.28/download" ], "strip_prefix": "reqwest-0.12.28", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"reqwest\",\n deps = [\n \"@crates__base64-0.22.1//:base64\",\n \"@crates__bytes-1.11.1//:bytes\",\n \"@crates__futures-core-0.3.32//:futures_core\",\n \"@crates__http-1.4.0//:http\",\n \"@crates__serde-1.0.228//:serde\",\n \"@crates__serde_urlencoded-0.7.1//:serde_urlencoded\",\n \"@crates__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crates__url-2.5.8//:url\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=reqwest\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.28\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'moon-base'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"reqwest\",\n deps = [\n \"@crates__base64-0.22.1//:base64\",\n \"@crates__bytes-1.11.1//:bytes\",\n \"@crates__futures-channel-0.3.32//:futures_channel\",\n \"@crates__futures-core-0.3.32//:futures_core\",\n \"@crates__futures-util-0.3.32//:futures_util\",\n \"@crates__http-1.4.0//:http\",\n \"@crates__serde-1.0.228//:serde\",\n \"@crates__serde_urlencoded-0.7.1//:serde_urlencoded\",\n \"@crates__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crates__url-2.5.8//:url\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crates__http-body-1.0.1//:http_body\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__http-body-util-0.1.3//:http_body_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-1.8.1//:hyper\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__hyper-util-0.1.20//:hyper_util\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__log-0.4.29//:log\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__percent-encoding-2.3.2//:percent_encoding\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__pin-project-lite-0.2.16//:pin_project_lite\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tokio-1.49.0//:tokio\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-0.5.3//:tower\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-http-0.6.8//:tower_http\", # cfg(not(target_arch = \"wasm32\"))\n \"@crates__tower-service-0.3.3//:tower_service\", # cfg(not(target_arch = \"wasm32\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"blocking\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=reqwest\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-apple-darwin\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.28\",\n)\n" } }, "crates__reqwest-0.13.2": {