-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathCargo.toml
113 lines (92 loc) · 3.25 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[package]
name = "questdb-rs"
version = "4.0.4"
edition = "2021"
license = "Apache-2.0"
description = "QuestDB Client Library for Rust"
homepage = "https://questdb.io/"
repository = "https://github.com/questdb/c-questdb-client"
keywords = ["questdb", "ilp", "client-library"]
categories = ["database"]
authors = ["Adam Cimarosti <[email protected]>"]
[package.metadata.docs.rs]
all-features = true
[lib]
name = "questdb"
crate-type = ["lib"]
[dependencies]
libc = "0.2"
socket2 = "0.5.5"
dns-lookup = "2.0.4"
base64ct = { version = "1.7", features = ["alloc"] }
rustls-pemfile = "2.0.0"
ryu = "1.0"
itoa = "1.0"
aws-lc-rs = { version = "1.13", optional = true }
ring = { version = "0.17.14", optional = true }
rustls-pki-types = "1.0.1"
rustls = { version = "0.23.25", default-features = false, features = ["logging", "std", "tls12"] }
rustls-native-certs = { version = "0.8.1", optional = true }
webpki-roots = { version = "0.26.8", default-features = false, optional = true }
chrono = { version = "0.4.40", optional = true }
# We need to limit the `ureq` version to 3.0.x since we use
# the `ureq::unversioned` module which does not respect semantic versioning.
ureq = { version = "3.0.10, <3.1.0", default-features = false, features = ["rustls-no-provider"], optional = true }
serde_json = { version = "1", optional = true }
questdb-confstr = "0.1.1"
rand = { version = "0.9.0", optional = true }
no-panic = { version = "0.1", optional = true }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["ws2def"] }
[build-dependencies]
serde_json = { version = "1.0.108" }
serde = { version = "1.0.193", features = ["derive"] }
slugify = "0.1.0"
indoc = "2"
[dev-dependencies]
mio = { version = "1", features = ["os-poll", "net"] }
chrono = "0.4.31"
tempfile = "3"
webpki-roots = "0.26.8"
[features]
default = ["tls-webpki-certs", "ilp-over-http", "aws-lc-crypto"]
# Include support for ILP over HTTP.
ilp-over-http = ["dep:ureq", "dep:serde_json", "dep:rand"]
# Allow use OS-provided root TLS certificates
tls-native-certs = ["dep:rustls-native-certs"]
# Allow use of the `webpki-roots` crate to validate TLS certificates.
tls-webpki-certs = ["dep:webpki-roots"]
# Use `aws-lc-rs` as the cryto library.
aws-lc-crypto = ["dep:aws-lc-rs", "rustls/aws-lc-rs"]
# Use `ring` as the crypto library.
ring-crypto = ["dep:ring", "rustls/ring"]
# Allow skipping verification of insecure certificates.
insecure-skip-verify = []
# Enable code-generation in `build.rs` for additional tests.
json_tests = []
# Enable methods to create timestamp objects from chrono::DateTime objects.
chrono_timestamp = ["chrono"]
# The `aws-lc-crypto` and `ring-crypto` features are mutually exclusive,
# thus compiling with `--all-features` will not work.
# Instead compile with `--features almost-all-features`.
# This is useful for quickly running `cargo test` or `cargo clippy`.
almost-all-features = [
"tls-webpki-certs",
"ilp-over-http",
"aws-lc-crypto",
"insecure-skip-verify",
"json_tests",
"chrono_timestamp"
]
[[example]]
name = "basic"
required-features = ["chrono_timestamp"]
[[example]]
name = "auth"
required-features = ["chrono_timestamp"]
[[example]]
name = "auth_tls"
required-features = ["chrono_timestamp"]
[[example]]
name = "http"
required-features = ["ilp-over-http"]