Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit parameter registry #49

Closed
ioggstream opened this issue Mar 16, 2021 · 11 comments
Closed

Limit parameter registry #49

ioggstream opened this issue Mar 16, 2021 · 11 comments

Comments

@ioggstream
Copy link
Collaborator

ioggstream commented Mar 16, 2021

I wish

Since parameters are always allowed in Limit we could define a "registry" and add them subsequently as soon as implementers needs them.

They can be used to specify:

  • max throughputs
  • request distribution
  • other policies

All data in parameters is informative.

@unleashed
Copy link
Collaborator

I assume there must be previous art in keeping a registry like this that we can mimic, but I can't think of a good example off the top of my head that wouldn't be using a separate registry or document to manage that. What's your thinking about where to keep this registry?

@ioggstream
Copy link
Collaborator Author

@unleashed registries are usually maintained by IANA: we can check with @richsalz if that's possible...

@richsalz
Copy link
Contributor

We can pretty easily define a registry. You include a section in the RFC. See https://www.rfc-editor.org/rfc/rfc5226.

You define a table that is the registry, and meanings of the columns, and perhaps populate it with the initial entries.

The WG decides some rules, like "X-" is left for experimentation. There must be something written (it can be an internet draft or something else on the net), whether a set of "experts" need to review for comliance and clarity, and so on.

@richsalz
Copy link
Contributor

If you'd like, I can make a PR that provides the initial text for this next week.

@unleashed
Copy link
Collaborator

Yes, that would be great @richsalz!

@richsalz
Copy link
Contributor

Can you give me an initial set of fields (even if it's just one or two), and an example, and a pointer to which section in the current draft? thanks.

@ioggstream
Copy link
Collaborator Author

Hi @richsalz Thanks for your support!
To make best use of your time, I'd wait for #58 to be merged (waiting for mnot's review)
so you can PR directly vs main.

WRT the parameter registry: currently the initial set is just w:

  :  The "w" parameter specifies a time window.
     Its syntax is a "time-window" defined in {{time-window}}.

Other parameters are allowed and can be regarded as comments.

See:
https://github.com/ietf-wg-httpapi/ratelimit-headers/pull/58/files#diff-d26a6f407efe0e4913cbcf7bf0e2a164bee5edea8bf2fdc4aa97a7ceb3acc03cR269

Do you have a proposal for the registration policy?

@richsalz
Copy link
Contributor

Thanks, I'll wait.

Do you have a proposal for the registration policy?

I think it should be expert review. That means that there should be a document describing the parameter, and that the experts can be directed to verify that the documentation is clear and unambiguous, and that there is no significant overlap with the parameters already defined.

The other choices are "specification required" and "first-come first-served."

@ioggstream
Copy link
Collaborator Author

@richsalz we just merged structured fields in RateLimit Headers!

@richsalz
Copy link
Contributor

richsalz commented Oct 5, 2021

Thanks for the ping, I saw :) I'll propose a PR soon.

@richsalz
Copy link
Contributor

richsalz commented Oct 6, 2021

#60
I think it needs to be tweaked, since it's just defined as a "quota" registry in that PR. Should it be a ratelimit fields registry?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants