apple / apple/servicetalk

Naming inconsistencies for HTTP filters

Open
#119 1 comment 0 reactions 0 assignees View on GitHub
API
Dominant language
Java
Stars
1k
Forks
229
Avg merge
23h 23m
Merged PRs (30d)
16

Description

HTTP APIs follow the convention:

- For aggregated APIs (non-streaming): No qualification is present in the names. eg: `HttpRequest`, `HttpResponse`.
- For async streaming APIs: We prefix with `Streaming`. eg: `StreamingHttpRequest`, `StreamingHttpResponse`
- For blocking streaming APIs: We prefix with `BlockingStreaming`. eg: `BlockingStreamingHttpRequest`, `BlockingStreamingHttpResponse`

However, we only provide ways to add async streaming filters, so we drop the qualification in the name. eg: `TracingHttpServiceFilter` extends `StreamingHttpService` but it does not have a name qualification according to the above convention. The rational is to reduce naming verbosity at the cost of not following the conventions.

Not following conventions can cause confusion for users and we should revisit to see if we can reduce this confusion.

Contributor guide

Open the contributing guide

Research direction

The issue does not name specific files, tests, or entry points. Start by inventorying the HTTP filter and service names against the stated aggregated, async-streaming, and blocking-streaming conventions. Done requires an agreed naming direction and consistent handling of the affected filters.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, networking
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.