Skip to content

Enable hoKeepOrigProtocol by default in TIdHTTP #455

@rlebeau

Description

@rlebeau

By default, TIdHTTP.Post() falls back to HTTP/1.0, to deal with faulty HTTP/1.1 servers that didn't handle POST/Expect:100-continue requests correctly when TIdHTTP used HTTP/1.1. The hoKeepOrigProtocol option was added to disable this fallback. However, that issue was many years ago, and HTTP/1.1 implementations have matured since then, and it is very common for users to enable hoKeepOrigProtocol to avoid the fallback.

Leaving hoKeepOrigProtocol disabled by default can now lead to different issues, such as #453.

So, consider enabling hoKeepOrigProtocol by default, and perhaps even deprecate it. Maybe add a new flag, like hoFallbackProtocol, to handle the fallback when it is actually needed. Or, forget the fallback and instead just require users to set TIdHTTP.ProtocolVersion := pv1_0 explicitly if they want old behavior.

Metadata

Metadata

Assignees

Labels

Element: HTTPIssues related to HTTP handling, TIdHTTP, TIdHTTPServer, TIdHTTPProxyServer, etcStatus: PendingIssue is pending external update or releaseType: MaintenanceIssue is proposing maintenance of existing code

Type

Projects

Status

In review

Relationships

None yet

Development

No branches or pull requests

Issue actions