Support for configuring the browser `fetch` credentials mode in `BrowserClient`. (#1937)

* add enum for omit value

* add changelog and new version

* Add requestCredentials parameter to BrowserClient to support full fetch credentials modes

- Introduce `RequestCredentials` enum (`omit`, `same-origin`, `include`).
- Deprecate `withCredentials` getter and setter while maintaining full backwards compatibility.
- Update README.md with instructions on how to use the new parameter.
- Add unit tests verifying correct constructor initialization and fallback behaviors.

* - Reverted README.md changes; the feature is now documented exclusively in the class/constructor Dartdoc.
- Cut down the constructor documentation to remove references to historical behavior.
- Cleaned up the changelog entry by moving the note under the existing `1.6.1-wip` section and reverted the pubspec version bump.
- Removed the unnecessary browser unit/integration tests.

* Update pkgs/http/CHANGELOG.md

Co-authored-by: Brian Quinlan <bquinlan@google.com>

* refactor(http): encapsulate fetch credentials mode and clean up BrowserClient API

- Move `_requestCredentials` field declaration above the constructor to match style guide.
- Remove the public `requestCredentials` getter to keep the new feature internal.
- Update Dartdoc for the deprecated `withCredentials` getter to reference the constructor parameter instead of the private field.
- Revert unintended version bumps, changelog additions, and README notes.
- Remove browser integration tests per maintainer request.

* style: wrap long line in browser_client documentation

---------

Co-authored-by: Brian Quinlan <bquinlan@google.com>
2 files changed
tree: 2e27d3f0d9082027ee7de1d9d4cfe2f35b5c7fed
  1. .gemini/
  2. .github/
  3. pkgs/
  4. tool/
  5. .gitattributes
  6. .gitignore
  7. analysis_options.yaml
  8. CONTRIBUTING.md
  9. LICENSE
  10. mono_repo.yaml
  11. README.md
README.md

Build Status

A composable, Future-based library for making HTTP requests.

package:http contains a set of high-level functions and classes that make it easy to consume HTTP resources. It's multi-platform, and supports mobile, desktop, and the browser.

Packages

PackageDescriptionVersion
cronet_httpAn Android Flutter plugin that provides access to the Cronet HTTP client.pub package
cupertino_httpA macOS/iOS Flutter plugin that provides access to the Foundation URL Loading System.pub package
flutter_http_exampleAn Flutter app that demonstrates how to configure and use package:http.
httpA composable, multi-platform, Future-based API for HTTP requests.pub package
http2A HTTP/2 implementation in Dart.pub package
http_client_conformance_testsA library that tests whether implementations of package:http's Client class behave as expected.
http_multi_serverA dart:io HttpServer wrapper that handles requests from multiple servers.pub package
http_parserA platform-independent package for parsing and serializing HTTP formats.pub package
http_profileA library used by HTTP client authors to integrate with the DevTools Network View.pub package
ok_httpAn Android Flutter plugin that provides access to the OkHttp HTTP client and the OkHttp WebSocket API.pub package
web_socketAny easy-to-use library for communicating with WebSockets that has multiple implementations.pub package
web_socket_channelStreamChannel wrappers for WebSockets. Provides a cross-platform WebSocketChannel API.package issues
web_socket_conformance_testsA library that tests whether implementations of package:web_socket's WebSocket class behave as expected.

Contributing

If you'd like to contribute to any of these packages, see the Contributing Guide.