Skip to content

Preserve header case in IOClient#1918

Merged
natebosch merged 2 commits into
masterfrom
prserve-header-case
May 19, 2026
Merged

Preserve header case in IOClient#1918
natebosch merged 2 commits into
masterfrom
prserve-header-case

Conversation

@natebosch
Copy link
Copy Markdown
Member

Closes #609

Some non-compliant servers misbehave with the default handling of
headers in the dart:io HTTP implementation. Well behaved servers
should not be impacted, but other use cases which require a particular
formatting can be handled by always preserving header case.

Closes #609

Some non-compliant servers misbehave with the default handling of
headers in the `dart:io` HTTP implementation. Well behaved servers
should not be impacted, but other use cases which require a particular
formatting can be handled by always preserving header case.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 14, 2026

PR Health

License Headers ✔️
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/cupertino_http/example/example.dart
pkgs/http/example/main.dart
pkgs/http_multi_server/test/cert.dart

This check can be disabled by tagging the PR with skip-license-check.

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
http None 1.6.0 1.6.1-wip 1.6.1-wip ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

Coverage ✔️
File Coverage
pkgs/http/lib/src/io_client.dart 💚 89 %

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

Unused Dependencies ⚠️
Package Status
http
❗ Show Issues
These packages may be unused, or you may be using assets from these packages:
* dart_flutter_team_lints
* shelf

For details on how to fix these, see dependency_validator.

This check can be disabled by tagging the PR with skip-unused-dependencies-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Copy link
Copy Markdown
Collaborator

@brianquinlan brianquinlan left a comment

Choose a reason for hiding this comment

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

Is it worth adding a test for this?

@natebosch
Copy link
Copy Markdown
Member Author

Is it worth adding a test for this?

Can't hurt. Done.

@natebosch natebosch merged commit 0a84117 into master May 19, 2026
39 checks passed
@natebosch natebosch deleted the prserve-header-case branch May 19, 2026 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for preserveHeaderCase

2 participants