Ad

goreq: Simple HTTP request library for Go

GoReq simplifies HTTP requests by providing straightforward methods for making requests with various methods, query strings, headers, and request bodies. It offers built-in support for timeouts and error handling.
Screenshot of franela/goreq homepage

GoReq simplifies HTTP requests by providing a straightforward library for the Go language. It aims to make common HTTP operations, such as making requests with different methods (GET, POST, etc.), setting headers, and handling responses, more concise and manageable. GoReq provides a clean API while still allowing advanced customization through the underlying HTTP client.

GoReq offers a streamlined API for common HTTP tasks like request construction, method selection and header setting. It supports various request body types (string, Reader, interface{}) and provides built-in timeout mechanisms. The library handles errors clearly and supports both connection and request timeouts. Tags are used for more advanced request parameter handling and are particularly useful when dealing with struct fields.

  • Method Support: Supports GET, POST, and other HTTP methods.
  • Query String Handling: Easily construct and send URL query strings with various options.
  • Request Body: Allows sending data as strings, readers, or interfaces .
  • Timeouts: Provides both connection and request timeouts for better control.
  • Error Handling: Returns both a Response and Error, with detailed error information.
  • Headers: Simplifies setting custom headers for requests.
  • Cookie Support: Integrates with the standard http.CookieJar for request-level cookie handling.

GoReq is a mature and stable library with a history dating back to 2013. It is actively maintained, with recent commits and a responsive issue tracker. The documentation is comprehensive and provides clear examples of common usage scenarios. The GitHub repository indicates an active community, although the project is marked as archived, suggesting ongoing maintenance rather than active feature development.

GoReq benefits developers seeking a lightweight and easy-to-use HTTP client for Go applications. It's ideal for projects requiring simple HTTP requests, particularly when minimizing boilerplate code and ensuring clean error handling is important. It offers an alternative to Go's lower-level HTTP client, providing a higher-level abstraction for common tasks, and it prioritizes clear error propagation.

Languages:
Summarize:
Share:
Stars
679
Forks
114
Issues
25
Created
12 years ago
Commit
7 years ago
License
MIT
Archived
Yes
Updated 16 days ago

Similar Repositories