Skip to content

Commit 9eaf81f

Browse files
committed
home server -> homeserver
#4041 (comment)
1 parent 555b5d7 commit 9eaf81f

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

proposals/4041-retry-after-header-rate-limiting.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
# MSC4041: Use http header Retry-After to enable library-assisted retry handling
22

3-
The current Matrix Client-Server API (v1.7) recommends that home servers should protect themselves from
3+
The current Matrix Client-Server API (v1.7) recommends that homeservers should protect themselves from
44
being overloaded by enforcing rate-limits to selected API calls.
5-
If home servers limit access to an API they respond with an http error code 429 and a response body
5+
If homeservers limit access to an API they respond with an http error code 429 and a response body
66
that includes a property `retry_after_ms` to indicate how long a client has to wait before retrying.
77

88
Some http libraries (like [Ky](https://github.com/sindresorhus/ky), [got](https://github.com/sindresorhus/got
99
and [urllib3](https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html#urllib3.util.Retry)) ease
10-
the burden of handling retries by honoring the http header `Retry-After`. As explained in
10+
the burden of handling retries by honoring the http header `Retry-After`. As explained in
1111
[RFC 9119 - HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110#field.retry-after) this header is optional
1212
and contains either a (relative) value for the delay in seconds or an (absolute) date.
1313

14-
The current Matrix Client Server API specification does not take this header into account. This wastes the
14+
The current Matrix Client Server API specification does not take this header into account. This wastes the
1515
potential that current http libraries offer in terms of automated retry handling.
1616

1717
## Proposal
1818

1919
In order to allow developers to make use of the automated retry handling capabilities of http libraries
20-
home servers shall use the http header `Retry-After` in case they respond with an http error 429.
21-
The value of `Retry-After` (in __seconds__) is meant to be a delay after receiving the response and must be
20+
homeservers shall use the http header `Retry-After` in case they respond with an http error 429.
21+
The value of `Retry-After` (in __seconds__) is meant to be a delay after receiving the response and must be
2222
calculated in order to comply with the specification in [RFC 9119 - HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110#field.retry-after).
2323

2424
With the introduction of the http header `Retry-After` the usage of the existing `retry_after_ms` property in the response body becomes deprecated.
2525

2626
## Potential issues
2727

28-
In order to maintain backward compatibility with existing client libraries home servers shall use both the `Retry-After` header and the
28+
In order to maintain backward compatibility with existing client libraries homeservers shall use both the `Retry-After` header and the
2929
`retry_after_ms` property in the response body.
3030

3131
Client libraries shall use the values in this order:

0 commit comments

Comments
 (0)