-
Notifications
You must be signed in to change notification settings - Fork 403
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
Test for HTTP spec conformance during CI #3083
Comments
I think it is a good idea. Maybe we don't need to add all checks at the beginning. We could establish the process first and add things we fixed our think are very important and imperatively improve the checks |
/bounty $2500 |
💎 $2,500 bounty • ZIOSteps to solve:
Thank you for contributing to zio/zio-http! Add a bounty • Share on socials
|
/attempt #3083 Options |
@jdegoes could you further define the scope of this bounty? Is it just to add an HTTP Spec conformance test suite that runs during CI? Or does this bounty also require all failing tests to be fixed after the test suite is implemented? |
@jdegoes The ZIO org has about 8 non-Scala repos so was wondering if you don't mind at all if a fork of the Python repo @kyri-petrou linked to is used as the basis for this task? |
@SankeerthKoraboina: Reminder that in 7 days the bounty will become up for grabs, so please submit a pull request before then 🙏 |
💡 @Saturn225 submitted a pull request that claims the bounty. You can visit your bounty board to reward. |
I think this is a bit of an ambitious request, but hopefully it's something that we can achieve.
The HTTP spec contains a lot of "gotchas" and unless a contributor knows the HTTP spec inside-out (which is almost impossible), we're bound to make a change at some point that violates the spec. A good example of this is #3080, where a previous fix to an issue that allowed users to provide an invalid content-length (which is against the spec) seems to have broken HEAD requests, where the content-length should match the length of the content as if the request is a GET request.
In order to guard against this, we need an HTTP Spec conformance test suite that runs during CI. A potentially good starting point is this repo, but there are probably other / better tools for it (haven't looked too extensively). I'm sure that adding such a suite will very likely unearth violations, so we should probably do it in 2-3 steps:
@jdegoes @987Nabil what are your thoughts on having this? Is this something that's too ambitious or do you think it might be doable?
The text was updated successfully, but these errors were encountered: