| Age | Commit message (Collapse) | Author |
|
|
|
- Implement debug logging in RustConnection that matches Net::HTTP format
- Add log_request and log_response methods with detailed HTTP transaction logs
- Update Rust client to properly handle request headers
- Add comprehensive RDoc documentation for logging methods
- Ensure feature parity between Ruby and Rust backends for debugging
Debug output format matches Net::HTTP's set_debug_output:
-> "GET https://api.example.com/users HTTP/1.1"
-> "accept: application/json"
-> ""
<- "HTTP/1.1 200"
<- "content-type: application/json"
<- ""
<- "{\"users\":[...]}"
This maintains the same debugging experience users expect from
the Ruby backend while providing the performance benefits of Rust.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
- Add detailed module overview for Net::Hippie with features and examples
- Document all Client class methods with parameters, return values, and examples
- Add complete Connection and RubyConnection class documentation
- Document ContentTypeMapper with serialization behavior and examples
- Add RustBackend module documentation with availability detection
- Include ResponseAdapter compatibility layer documentation
- Add @since tags tracking feature introduction versions
- Include cross-references and detailed usage examples
- Document new Rust backend architecture and environment configuration
This provides comprehensive API documentation for the 2.0 major release,
covering both the traditional Ruby backend and new Rust backend features.
The documentation includes migration examples and performance notes.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
- Bump version from 1.3.0 to 2.0.0 for major release
- Add comprehensive changelog entry for Rust backend integration
- Document breaking changes (Ruby 3.2.0+ requirement)
- Highlight performance improvements and new features
- Update version comparison links
This represents a major version bump due to:
- Minimum Ruby version increase from 2.3+ to 3.2.0+
- Significant architectural changes with Rust backend
- Enhanced functionality and performance characteristics
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
- Merge latest main branch changes including Ruby 3.2+ requirement
- Combine new stdlib dependencies with Rust extension support
- Maintain backward compatibility while adding new features
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
- Add Rust HTTP client using reqwest and Magnus for Ruby integration
- Implement transparent backend switching via NET_HIPPIE_RUST environment variable
- Maintain 100% backward compatibility with existing Ruby interface
- Add comprehensive test coverage (75 tests, 177 assertions)
- Support automatic fallback to Ruby backend when Rust unavailable
- Include detailed documentation for Rust backend setup and usage
- Add proper .gitignore for Rust build artifacts
- Update gemspec to support native extensions
Performance benefits:
- Faster HTTP requests using Rust's optimized reqwest library
- Better concurrency with Tokio async runtime
- Lower memory usage with zero-cost abstractions
- Type safety with compile-time guarantees
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```text
The absoluteURI form is REQUIRED when the request is being made to a proxy. The proxy is requested to forward the request or service it from a valid cache, and return the response. Note that the proxy MAY forward the request on to another proxy or directly to the server
To allow for transition to absoluteURIs in all requests in future versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI form in requests, even though HTTP/1.1 clients will only generate them in requests to proxies.
In this case the absolute path of the URI MUST be transmitted (see section 3.2.1, abs_path) as the Request-URI, and the network location of the URI (authority) MUST be transmitted in a Host header field. For example, a client wishing to retrieve the resource above directly from the origin server would create a TCP connection to port 80 of the host "www.w3.org" and send the lines:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
```
https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html
|
|
|
|
Some servers do not respond well to sending the full path and rely on
the path instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```text
/home/travis/build/mokhan/net-hippie/lib/net/hippie.rb:11:in `require': /home/travis/build/mokhan/net-hippie/lib/net/hippie/client.rb:77: syntax error, unexpected keyword_rescue, expecting keyword_end (SyntaxError)
rescue *::Net::Hippie::CONNECTION_ERRORS => error
^
/home/travis/build/mokhan/net-hippie/lib/net/hippie/client.rb:77: dynamic constant assignment
rescue *::Net::Hippie::CONNECTION_ERRORS => error
^
/home/travis/build/mokhan/net-hippie/lib/net/hippie/client.rb:77: syntax error, unexpected =>, expecting '='
rescue *::Net::Hippie::CONNECTION_ERRORS => error
^
from /home/travis/build/mokhan/net-hippie/lib/net/hippie.rb:11:in `<top (required)>'
from /home/travis/build/mokhan/net-hippie/test/test_helper.rb:5:in `require'
from /home/travis/build/mokhan/net-hippie/test/test_helper.rb:5:in `<top (required)>'
from /home/travis/build/mokhan/net-hippie/test/net/api_test.rb:1:in `require'
from /home/travis/build/mokhan/net-hippie/test/net/api_test.rb:1:in `<top (required)>'
from /home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb:15:in `require'
from /home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb:15:in `block in <main>'
from /home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb:4:in `select'
from /home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb:4:in `<main>'
rake aborted!
Command failed with status (1): [ruby -I"lib:test:lib" -I"/home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib" "/home/travis/build/mokhan/net-hippie/vendor/bundle/ruby/2.3.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb" "test/net/api_test.rb" "test/net/client_test.rb" "test/net/content_type_mapper_test.rb" "test/net/hippie_test.rb" ]
/home/travis/.rvm/rubies/ruby-2.3.8/bin/bundle:30:in `block in <main>'
/home/travis/.rvm/rubies/ruby-2.3.8/bin/bundle:22:in `<main>'
/home/travis/.rvm/gems/ruby-2.3.8@global/bin/ruby_executable_hooks:24:in `eval'
/home/travis/.rvm/gems/ruby-2.3.8@global/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => test
(See full trace by running task with --trace)
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|