mirror of
https://github.com/minio/minio-rs.git
synced 2026-01-22 15:42:10 +08:00
address build issues and also use builder class for Client (#17)
This commit is contained in:
parent
20c0150d3d
commit
1888666d4f
30
.github/workflow/rust.yml
vendored
30
.github/workflow/rust.yml
vendored
@ -1,30 +0,0 @@
|
|||||||
name: MinIO Rust Library
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ "master" ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ "master" ]
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Build and Check style
|
|
||||||
run: |
|
|
||||||
cargo build --verbose
|
|
||||||
cargo fmt --all -- --check
|
|
||||||
|
|
||||||
- name: Run tests
|
|
||||||
run: |
|
|
||||||
./start-server.sh
|
|
||||||
export SERVER_ENDPOINT=https://localhost:9000/
|
|
||||||
export ACCESS_KEY=minioadmin
|
|
||||||
export SECRET_KEY=minioadmin
|
|
||||||
cargo test --verbose -- --nocapture
|
|
||||||
16
.github/workflows/rust.yml
vendored
16
.github/workflows/rust.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: Rust
|
name: MinIO Rust Library
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@ -16,7 +16,15 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Build
|
- name: Build and Check style
|
||||||
run: cargo build --verbose
|
run: |
|
||||||
|
cargo build --verbose
|
||||||
|
cargo fmt --all -- --check
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: cargo test --verbose
|
run: |
|
||||||
|
./start-server.sh
|
||||||
|
export SERVER_ENDPOINT=localhost:9000
|
||||||
|
export ACCESS_KEY=minioadmin
|
||||||
|
export SECRET_KEY=minioadmin
|
||||||
|
cargo test --verbose -- --nocapture
|
||||||
|
|||||||
@ -202,11 +202,11 @@ fn parse_list_objects_common_prefixes(
|
|||||||
pub struct Client<'a> {
|
pub struct Client<'a> {
|
||||||
base_url: BaseUrl,
|
base_url: BaseUrl,
|
||||||
provider: Option<&'a dyn Provider>,
|
provider: Option<&'a dyn Provider>,
|
||||||
|
ssl_cert_file: String,
|
||||||
|
ignore_cert_check: bool,
|
||||||
|
region_map: DashMap<String, String>,
|
||||||
user_agent: String,
|
user_agent: String,
|
||||||
debug: bool,
|
debug: bool,
|
||||||
ignore_cert_check: bool,
|
|
||||||
ssl_cert_file: String,
|
|
||||||
region_map: DashMap<String, String>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Client<'a> {
|
impl<'a> Client<'a> {
|
||||||
@ -214,11 +214,11 @@ impl<'a> Client<'a> {
|
|||||||
Client {
|
Client {
|
||||||
base_url: base_url,
|
base_url: base_url,
|
||||||
provider: provider,
|
provider: provider,
|
||||||
user_agent: String::new(),
|
ssl_cert_file: String::new(), // TODO: use specified ssl_cert_file
|
||||||
debug: false,
|
|
||||||
ignore_cert_check: false,
|
ignore_cert_check: false,
|
||||||
ssl_cert_file: String::new(),
|
|
||||||
region_map: DashMap::new(),
|
region_map: DashMap::new(),
|
||||||
|
user_agent: String::new(), // TODO: use specified user_agent
|
||||||
|
debug: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,7 +456,18 @@ impl<'a> Client<'a> {
|
|||||||
.build_url(&method, region, query_params, bucket_name, object_name)?;
|
.build_url(&method, region, query_params, bucket_name, object_name)?;
|
||||||
self.build_headers(headers, query_params, region, &url, &method, body);
|
self.build_headers(headers, query_params, region, &url, &method, body);
|
||||||
|
|
||||||
let client = reqwest::Client::new();
|
let client;
|
||||||
|
if object_name.unwrap_or_default().to_string().is_empty() && method == Method::GET {
|
||||||
|
client = reqwest::Client::builder()
|
||||||
|
.no_gzip() // needed to ensure no automatic decompression on GetObject
|
||||||
|
.danger_accept_invalid_certs(self.ignore_cert_check)
|
||||||
|
.build()?;
|
||||||
|
} else {
|
||||||
|
client = reqwest::Client::builder()
|
||||||
|
.danger_accept_invalid_certs(self.ignore_cert_check)
|
||||||
|
.build()?;
|
||||||
|
}
|
||||||
|
|
||||||
let mut req = client.request(method.clone(), url.to_string());
|
let mut req = client.request(method.clone(), url.to_string());
|
||||||
|
|
||||||
for (key, values) in headers.iter_all() {
|
for (key, values) in headers.iter_all() {
|
||||||
|
|||||||
@ -400,7 +400,6 @@ async fn s3_tests() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
|||||||
let access_key = std::env::var("ACCESS_KEY")?;
|
let access_key = std::env::var("ACCESS_KEY")?;
|
||||||
let secret_key = std::env::var("SECRET_KEY")?;
|
let secret_key = std::env::var("SECRET_KEY")?;
|
||||||
let secure = std::env::var("ENABLE_HTTPS").is_ok();
|
let secure = std::env::var("ENABLE_HTTPS").is_ok();
|
||||||
let ignore_cert_check = std::env::var("IGNORE_CERT_CHECK").is_ok();
|
|
||||||
let region = std::env::var("SERVER_REGION").ok();
|
let region = std::env::var("SERVER_REGION").ok();
|
||||||
|
|
||||||
let mut burl = BaseUrl::from_string(host).unwrap();
|
let mut burl = BaseUrl::from_string(host).unwrap();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user