content: [package]
  name = "beet_net"
  version.workspace = true
  edition.workspace = true
  description = "Cross-platform networking utilities"
  documentation.workspace = true
  readme.workspace = true
  homepage.workspace = true
  repository.workspace = true
  license.workspace = true
  keywords = ["router", "request", "buckets", "key-value-store"]
  categories.workspace = true
  publish = true
  
  [features]
  default = ["serde", "reqwest", "fs"]
  # for conditional compilation in hooks
  client = []
  fs = ["beet_core/fs","dep:async-process"]
  tokio = ["dep:tokio","beet_core/tokio"]
  tokens = ["beet_core/tokens"]
  axum = ["dep:axum"]
  aws = [
  	"serde",
  	"dep:crc-fast",
  	"dep:aws-sdk-s3",
  	"dep:serde_dynamo",
  	"dep:aws-sdk-dynamodb",
  	"dep:aws-config",
  ]
  serde = [
  	"dep:serde",
  	"dep:serde_json",
  	"dep:serde_urlencoded",
  	"dep:clap",
  	"dep:base64",
  	"uuid/serde",
  	"beet_core/serde",
  ]
  reqwest = ["dep:reqwest"]
  tungstenite = ["tokio","dep:async-tungstenite","dep:async-lock"]
  native-tls = ["reqwest?/default", "async-tungstenite?/tokio-native-tls"]
  rustls-tls = [
  	"reqwest?/rustls-tls",
  	"aws-config?/rustls",
  	"aws-sdk-dynamodb?/rustls",
  	"aws-sdk-s3?/rustls",
  	"async-tungstenite?/tokio-rustls-webpki-roots"
  ]
  
  [dependencies]
  beet_core.workspace = true
  
  bevy.workspace = true
  
  # utils
  extend.workspace = true
  thiserror.workspace = true
  tracing.workspace = true
  tracing-subscriber.workspace = true
  send_wrapper.workspace = true
  uuid = {workspace = true, features = ["v7"]}
  async-lock.workspace = true
  
  # serde
  clap = { workspace = true, optional = true }
  base64 = { workspace = true, optional = true }
  serde = { workspace = true, optional = true }
  serde_json = { workspace = true, optional = true }
  serde_urlencoded = { version = "0.7", optional = true }
  
  
  # http
  http.workspace = true
  http-body-util.workspace = true
  bytes.workspace = true
  url = "2"
  mime_guess.workspace = true
  html-escape = "0.2"
  eventsource-stream = "0.2.3"
  
  # async
  futures.workspace = true
  
  [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
  axum = { workspace = true, optional = true }
  async-process = { workspace = true, optional = true }
  # http (native)
  reqwest = { version = "0.12", default-features = false, optional = true, features = [
  	"stream",
  ] }
  async-tungstenite = { version = "0.28", optional = true, default-features = false, features = ["tokio-runtime","futures-03-sink"] }
  async-lock = {workspace = true, optional = true }
  
  #💡 server
  tokio = { workspace = true, optional = true, default-features = true, features = ["process"] }
  #💡 aws
  # lock down aws-sdk-s3 upstream, some weird nightly feature breaks it
  crc-fast = { version = "=1.3.0", optional = true }
  serde_dynamo = { version = "4",optional = true, features = ["aws-sdk-dynamodb+1"]}
  aws-sdk-dynamodb = { version = "1", optional = true, default-features = false, features = [
  	# defaults without rustls
  	"default-https-client",
  	"rt-tokio",
  ] }
  aws-sdk-s3 = { version = "1", optional = true, default-features = false, features = [
  	# defaults without rustls
  	"sigv4a",
  	"default-https-client",
  	"rt-tokio",
  ] }
  aws-config = { version = "1", optional = true, default-features = false, features = [
  	"default-https-client",
  	"rt-tokio",
  	"behavior-version-latest",
  ] }
  
  [target.'cfg(target_arch = "wasm32")'.dependencies]
  js-sys.workspace = true
  wasm-bindgen.workspace = true
  wasm-bindgen-futures.workspace = true
  web-sys = { workspace = true, features = [
  	# Fetch
  	'Headers',
  	'Request',
  	'RequestInit',
  	'RequestMode',
  	'Response',
  	'ReadableStream',
  	'ReadableStreamDefaultReader',
  	'BinaryType',
  	# localstorage
  	"Storage",
  	# sockets
  	"WebSocket",
  	"ErrorEvent",
  	"MessageEvent",
  	"CloseEvent",
  	"ProgressEvent",
  ] }
  
  [dev-dependencies]
  beet_net = {path = ".", features = ["tokio", "native-tls"] }
  sweet.workspace = true
  