Conversation
There was a problem hiding this comment.
Pull request overview
This PR upgrades nano-get to v0.3.0, expanding it into a more complete HTTP/1.1 GET/HEAD client with typed request/response APIs, optional HTTPS, proxy support, caching, authentication, and CI checks for compliance/coverage.
Changes:
- Reworks the core API surface (
Url,Request, errors) and adds new modules for auth and HTTP-date handling. - Adds extensive integration tests and runnable examples covering redirects, caching, auth, proxies, HTTPS tunneling, reuse/pipelining.
- Introduces CI workflows plus tooling to validate compliance docs and enforce line coverage.
Reviewed changes
Copilot reviewed 37 out of 38 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
tools/check_line_coverage.py |
Adds a script to enforce library line coverage from LCOV output. |
tools/check_compliance_docs.py |
Adds a script to validate compliance matrix/index consistency and referenced test names. |
tests/support/mod.rs |
Adds a lightweight scripted HTTP test server harness. |
tests/http_integration.rs |
Adds HTTP integration tests for redirects, caching, ranges, strict/lenient parsing, pipelining, etc. |
tests/https_integration.rs |
Adds HTTPS integration tests (feature-gated) including CONNECT proxy tunneling and cert trust. |
tests/auth_integration.rs |
Adds integration tests for 401/407 challenge handling and auth scoping. |
src/url/models.rs |
Replaces URL model/parsing and adds redirect resolution + target-form helpers. |
src/url/mod.rs |
Simplifies URL module exports and removes legacy parsing helpers. |
src/request.rs |
Replaces request representation with typed Method, Header, RedirectPolicy, header validation, and helpers. |
src/lib.rs |
Updates crate docs and exports; adds helper APIs (get_bytes, head, protocol-specific helpers). |
src/http.rs |
Adds HTTP/1.1 request serialization and response-head reading helpers. |
src/https.rs |
Reworks TLS connection to use OpenSSL connector with verify paths + error mapping. |
src/errors.rs |
Replaces error model with a rich NanoGetError enum + Display/source support. |
src/date.rs |
Adds HTTP-date formatting/parsing helpers for cache/conditional request support. |
src/auth.rs |
Adds challenge parsing, basic auth helpers, and pluggable auth handler traits. |
rust-toolchain.toml |
Pins a stable toolchain with minimal profile + rustfmt/clippy components. |
examples/* + examples/README.md |
Adds a curated set of runnable examples for the new API surface. |
docs/compliance/* |
Adds compliance matrix and requirement-to-test index docs for GET/HEAD scope. |
README.md |
Updates public documentation to match v0.3.0 behavior and API. |
Cargo.toml |
Bumps version to 0.3.0, updates edition/MSRV, updates OpenSSL version, registers examples. |
.github/workflows/checker.yml |
Adds CI workflow for formatting, clippy, tests, coverage, and compliance docs checks. |
.github/workflows/publish.yml |
Adds release publishing workflow with version/tag validation and test gate. |
.github/workflows/rust.yml |
Removes the legacy Rust CI workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 37 out of 38 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
No description provided.