Skip to content

Conversation

@djthorpe
Copy link
Member

This pull request removes the NewsAPI and WeatherAPI clients from the repository, including all related implementation, tests, documentation, and references. Additionally, it introduces new tests for streaming multipart payloads in the core client and updates the documentation to reflect these changes.

Removal of NewsAPI and WeatherAPI Clients:

  • Removed the entire pkg/newsapi directory, including all source files (client.go, articles.go, sources.go, opts.go), tests, and documentation (README.md). [1] [2] [3] [4] [5] [6] [7]
  • Removed the WeatherAPI client implementation (pkg/weatherapi/client.go).
  • Removed references to the NewsAPI and WeatherAPI clients from the main README.md.

Core Client Enhancements and Testing:

  • Added comprehensive tests for streaming multipart payloads, including scenarios for large files, partial reads, and proper resource cleanup (payload_test.go).
  • Updated imports in payload_test.go to support new streaming multipart tests.

Documentation Updates:

  • Updated the README.md to document the new client.NewStreamingMultipartRequest method, including usage recommendations for large file uploads. [1] [2]
  • Removed the third-party dependencies section and associated license clarifications from the README.md, streamlining the documentation.

@djthorpe djthorpe self-assigned this Jan 26, 2026
Copilot AI review requested due to automatic review settings January 26, 2026 08:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request removes the NewsAPI and WeatherAPI client implementations from the repository and introduces streaming support for multipart form data uploads to handle large files efficiently without buffering them entirely in memory.

Changes:

  • Removed NewsAPI and WeatherAPI client packages including all implementation files, tests, and documentation
  • Added NewStreamingMultipartRequest function that uses io.Pipe and goroutines to stream multipart data
  • Added comprehensive tests for streaming multipart payloads covering various scenarios (large files, partial reads, cleanup)
  • Updated README.md to document the new streaming API and remove references to the deleted client packages

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
streaming_payload.go New file implementing streaming multipart requests using io.Pipe and background goroutines
pkg/newsapi/*.go Complete removal of NewsAPI client implementation and tests
pkg/newsapi/README.md Removal of NewsAPI documentation
pkg/weatherapi/*.go Complete removal of WeatherAPI client implementation and tests
payload_test.go Added comprehensive tests for streaming multipart functionality
README.md Updated documentation to include streaming API and removed references to deleted clients

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

djthorpe and others added 2 commits January 26, 2026 09:42
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@djthorpe djthorpe requested a review from Copilot January 26, 2026 08:51
@djthorpe djthorpe merged commit 55a7b50 into main Jan 26, 2026
10 checks passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 19 out of 20 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@djthorpe djthorpe deleted the djt/0126/streaming branch January 26, 2026 08:57
@djthorpe djthorpe linked an issue Jan 26, 2026 that may be closed by this pull request
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.

Implement NewStreamingMultipartRequest

2 participants