summaryrefslogtreecommitdiff
path: root/lib/net
AgeCommit message (Collapse)Author
2025-07-06refactor: remove extra requiresrsmo khan
2025-07-06feat: add debug logging support for Rust backendmo khan
- 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>
2025-07-06docs: add comprehensive RDoc documentation for 2.0 releasemo khan
- 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>
2025-07-06chore: bump version to 2.0.0 and update changelogmo khan
- 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>
2025-07-06resolve: merge conflicts with main branchmo khan
- 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>
2025-07-06feat: add optional Rust backend with Magnus integrationmo khan
- 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>
2025-04-30feat: change minimum ruby to 3.2v1.3.0mo khan
2025-02-19chore: add explicit dependency on stdlib gemsmo khan
2024-12-05feat: disable logger by defaultmo khan
2022-05-03default to not calling set_debug_outputPeter Schulze
2021-01-30chore: update link to homepage/source codev1.1.1mo khan
2020-12-26feat: add support for Ruby 3.0mo khan
2020-07-31Load version before clientv1.0.1mo khan
2020-07-31Enable new rubocop rulesmo khan
2020-06-13Extract Http Connection classmo khan
2020-06-12Update CHANGELOG and CI configurationmo khan
2020-06-12Reduce # of instance variablesmo khan
2020-06-12Create default_client to simplify usagemo khan
2020-06-12Remove legacy APImo khan
2020-01-28Fix bug in redirecting to relative pathsv0.3.2mo khan
2020-01-14Fix bugs in following redirectsmo khan
2020-01-13Release 0.3.0v0.3.0mo khan
2020-01-13Allow following redirectsmo khan
2019-10-04Fix linter errormo khan
2019-10-04Update changelogmo khan
2019-10-04Add additional connection errorsmo khan
2019-04-30bump versionmokha
2019-04-30fix linter errorsmokha
2019-04-29Update client.rbZouski
2019-04-29Add patch to hippieZouski
2019-02-06bump versionv0.2.5mokha
2019-02-06revert change in 0.2.4mokha
```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
2019-02-06default path to "/"mokha
2019-02-06send path instead of full uri.v0.2.4mokha
Some servers do not respond well to sending the full path and rely on the path instead.
2019-02-01bump versionmokha
2019-02-01configure global verify modemokha
2019-02-01compacting definition of attr_accessorsazohoori
2019-02-01bumps up the gem versionazohoori
2019-02-01adding open timeout attributeazohoori
2018-11-10revert constant name.mo
2018-11-10extract attemp method.mo
2018-11-10fix ruby 2.3, 2.4 syntax errors.mo
```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) ```
2018-11-10start backoff at 100 msmo
2018-11-10fix off by one on retry logic.mo
2018-11-10fix linter errors.mokha
2018-11-10bump to 0.2mokha
2018-11-10add random jitter.mokha
2018-11-10fix linter errors.mokha
2018-11-10retry with exponential delaymokha
2018-11-10add retry.mokha