@@ -34,7 +34,23 @@ version.workspace = true
34
34
all-features = true
35
35
36
36
[features ]
37
- default = [" rustls" ]
37
+ default = [
38
+ " rustls" ,
39
+ " services-azblob" ,
40
+ " services-azdfs" ,
41
+ " services-fs" ,
42
+ " services-gcs" ,
43
+ " services-ghac" ,
44
+ " services-http" ,
45
+ " services-ipmfs" ,
46
+ " services-memory" ,
47
+ " services-obs" ,
48
+ " services-oss" ,
49
+ " services-s3" ,
50
+ " services-sled" ,
51
+ " services-webdav" ,
52
+ " services-webhdfs" ,
53
+ ]
38
54
39
55
# Build docs or not.
40
56
#
@@ -43,14 +59,14 @@ default = ["rustls"]
43
59
docs = []
44
60
45
61
# Enable trust-dns for pure rust dns cache.
46
- trust-dns = [" reqwest/trust-dns" , " dep:trust-dns-resolver " ]
62
+ trust-dns = [" reqwest/trust-dns" ]
47
63
48
64
# Enable rustls for TLS support
49
- rustls = [" reqwest/rustls-tls-native-roots" , " ureq/tls " , " ureq/native-certs " ]
65
+ rustls = [" reqwest/rustls-tls-native-roots" ]
50
66
# Enable native-tls for TLS support
51
- native-tls = [" reqwest/native-tls" , " ureq/native-tls " ]
67
+ native-tls = [" reqwest/native-tls" ]
52
68
# Enable vendored native-tls for TLS support
53
- native-tls-vendored = [" reqwest/native-tls-vendored" , " ureq/native-tls " ]
69
+ native-tls-vendored = [" reqwest/native-tls-vendored" ]
54
70
55
71
# Enable all layers.
56
72
layers-all = [" layers-chaos" , " layers-metrics" , " layers-tracing" ]
@@ -61,24 +77,52 @@ layers-metrics = ["dep:metrics"]
61
77
# Enable layers tracing support.
62
78
layers-tracing = [" dep:tracing" ]
63
79
64
- # Enable services dashmap support
80
+ services-azblob = [
81
+ " dep:reqsign" ,
82
+ " reqsign?/services-azblob" ,
83
+ " reqsign?/reqwest_request" ,
84
+ ]
85
+ services-azdfs = [
86
+ " dep:reqsign" ,
87
+ " reqsign?/services-azblob" ,
88
+ " reqsign?/reqwest_request" ,
89
+ ]
65
90
services-dashmap = [" dep:dashmap" ]
66
- # Enable services ftp support
91
+ services-fs = [ " tokio/fs " ]
67
92
services-ftp = [" dep:suppaftp" , " dep:lazy-regex" , " dep:bb8" , " dep:async-tls" ]
68
- # Enable services hdfs support
93
+ services-gcs = [
94
+ " dep:reqsign" ,
95
+ " reqsign?/services-google" ,
96
+ " reqsign?/reqwest_request" ,
97
+ ]
98
+ services-ghac = []
69
99
services-hdfs = [" dep:hdrs" ]
70
- # Enable services ipfs support
100
+ services-http = []
71
101
services-ipfs = [" dep:prost" ]
72
- # Enable services memcached support
102
+ services-ipmfs = []
73
103
services-memcached = [" dep:bb8" ]
74
- # Enable services moka support
104
+ services-memory = []
75
105
services-moka = [" dep:moka" ]
76
- # Enable services redis support
106
+ services-obs = [
107
+ " dep:reqsign" ,
108
+ " reqsign?/services-huaweicloud" ,
109
+ " reqsign?/reqwest_request" ,
110
+ ]
111
+ services-oss = [
112
+ " dep:reqsign" ,
113
+ " reqsign?/services-aliyun" ,
114
+ " reqsign?/reqwest_request" ,
115
+ ]
77
116
services-redis = [" dep:redis" ]
78
- # Enable services rocksdb support
79
117
services-rocksdb = [" dep:rocksdb" ]
80
- # Enable services sled support
118
+ services-s3 = [
119
+ " dep:reqsign" ,
120
+ " reqsign?/services-aws" ,
121
+ " reqsign?/reqwest_request" ,
122
+ ]
81
123
services-sled = [" dep:sled" ]
124
+ services-webdav = []
125
+ services-webhdfs = []
82
126
83
127
[lib ]
84
128
bench = false
@@ -96,6 +140,7 @@ backon = "0.4.0"
96
140
base64 = " 0.21"
97
141
bb8 = { version = " 0.8" , optional = true }
98
142
bytes = " 1.2"
143
+ chrono = " 0.4.24"
99
144
dashmap = { version = " 5.4" , optional = true }
100
145
flagset = " 0.4"
101
146
futures = { version = " 0.3" , features = [" alloc" ] }
@@ -118,8 +163,7 @@ redis = { version = "0.22", features = [
118
163
" tokio-comp" ,
119
164
" connection-manager" ,
120
165
], optional = true }
121
- # NOTE: we keep this for service migration one by one. And finally we will replace reqsign by v0.9.
122
- reqsign_0_9 = { package = " reqsign" , git = " https://github.com/Xuanwo/reqsign" , rev = " 3707b084b534233a11cd34729dba8ec4f4c9e1fc" }
166
+ reqsign = { version = " 0.9.1" , default-features = false , optional = true }
123
167
reqwest = { version = " 0.11.13" , features = [
124
168
" multipart" ,
125
169
" stream" ,
@@ -132,11 +176,8 @@ suppaftp = { version = "4.5", default-features = false, features = [
132
176
" async-secure" ,
133
177
" async-rustls" ,
134
178
], optional = true }
135
- chrono = " 0.4.24"
136
- tokio = { version = " 1.27" , features = [" fs" ] }
179
+ tokio = " 1.27"
137
180
tracing = { version = " 0.1" , optional = true }
138
- trust-dns-resolver = { version = " 0.22" , optional = true }
139
- ureq = { version = " 2" , default-features = false }
140
181
uuid = { version = " 1" , features = [" serde" , " v4" ] }
141
182
142
183
[dev-dependencies ]
0 commit comments