Skip to content

feat: Add sync shortcut request method#514

Merged
0x676e67 merged 2 commits intomainfrom
feat
Feb 12, 2026
Merged

feat: Add sync shortcut request method#514
0x676e67 merged 2 commits intomainfrom
feat

Conversation

@0x676e67
Copy link
Copy Markdown
Owner

close: #501

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Feb 12, 2026

Deploying rnet with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9ae4858
Status: ✅  Deploy successful!
Preview URL: https://19a5eae9.rnet-7tt.pages.dev
Branch Preview URL: https://feat.rnet-7tt.pages.dev

View logs

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @0x676e67, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly improves the usability of the rnet library's blocking client by introducing direct, top-level functions for common HTTP methods and WebSocket connections. This change allows users to make requests without explicitly instantiating a Client object, streamlining the API for quick operations. The underlying Rust code was refactored to support this, and an example was updated to reflect the new usage pattern.

Highlights

  • New Sync Shortcut Request Methods: Introduced top-level shortcut functions for all standard HTTP methods (e.g., get, post, put) and WebSocket connections directly within the rnet.blocking module, simplifying API usage by removing the need to instantiate a Client object for basic requests.
  • Internal Refactoring: The underlying Rust implementation was refactored to separate asynchronous and blocking request functions into distinct internal modules, improving code organization and maintainability.
  • Example Update: An existing example script was updated to demonstrate the use of the new rnet.blocking.get shortcut, showcasing the simplified API.
  • Code Cleanup: Minor code formatting adjustments and docstring corrections were applied across several Python and Rust files to enhance readability and consistency.
Changelog
  • bench/benchmark.py
    • Formatted CPU duration calculation for readability.
  • examples/blocking/stream.py
    • Updated client instantiation to use the new rnet.blocking.get shortcut.
  • python/rnet/init.pyi
    • Corrected spacing in docstrings for the Response class.
  • python/rnet/blocking.py
    • Added top-level shortcut functions for HTTP methods (delete, get, head, options, patch, post, put, request, trace) and websocket.
    • Adjusted docstring formatting for consistency.
  • src/client.rs
    • Derived the Default trait for BlockingClient.
  • src/lib.rs
    • Restructured the module to separate async and blocking request functions into distinct submodules.
    • Exposed blocking shortcut functions at the top level of the blocking module.
    • Removed unnecessary Request import from req module.
  • src/macros.rs
    • Removed the from_ffi helper function from the define_enum macro.
Activity
  • No specific activity has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces convenient shortcut methods for making synchronous requests, mirroring the existing async API. The implementation involves a significant refactoring in the Rust backend, organizing async and blocking functions into separate modules (r#async and blocking). The Python type stubs and examples have been updated accordingly.

My review focuses on improving code consistency and maintainability. I've pointed out a duplicated function that should be removed and an opportunity to reduce boilerplate code with a macro. I also found a minor issue with an unused import in one of the examples.

@0x676e67 0x676e67 merged commit 274959a into main Feb 12, 2026
33 checks passed
@0x676e67 0x676e67 deleted the feat branch February 12, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add sync shortcut request method

1 participant