-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Refactor HttpCompliance and HttpComplianceSection to be friendlier to customization #3012
Comments
joakime
changed the title
Refactor HttpConfiguration and HttpConfigurationSection to be friendlier to customization
Refactor HttpCompliance and HttpComplianceSection to be friendlier to customization
Oct 22, 2018
+1 It was kept as an enum initially to jsut to keep compatibility with Jetty-9.x, but we can make the break of API in jetty-10 and avoid the clunky CUSTOMx enums. |
joakime
added a commit
that referenced
this issue
Oct 24, 2018
+ HttpCompliance is now a class with a Builder syntax. + You can base custom HttpCompliance configurations off of one of the existing baselines RFC7230 or RFC2616. + All LEGACY based compliance modes are gone. + Moved HttpComplianceSection into HttpCompliance as its only used to report violations. + Simplified the HttpParser behavior WRT HttpCompliance configurations and violation reporting. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 24, 2018
+ Moving HttpCompliance.Section over to HttpParser.ViolationSection as that's the only place its used + Introduce new HttpParser.ComplianceViolation interface + Changing signature of ComplianceHandler to use ComplianceViolation instead of enum Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Opened PR #3029 |
joakime
added a commit
that referenced
this issue
Oct 24, 2018
+ Fixing Javadoc failure Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 24, 2018
+ Fixing testcases and their expectations on original values and not the Field Value cache Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 31, 2018
+ Renaming .getDefault() to .RFC7230() + Adding .RFC2616() Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 31, 2018
+ Moving HttpParser.ComplianceHandler out to top level SpecComplianceListener in preparation for use by other Compliance modes to report violations. + SpecReference is the interface for a specific reference within a specific spec for purposes of reporting spec violations. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 31, 2018
+ TODO about Case insensitive field value cache Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 31, 2018
+ CookieCompliance and CookieCutter now follow the same SpecComplianceListener rules Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Oct 31, 2018
+ MultiPartFormDataCompliance and MultipartInputStreamParser (RFC2046 version) now follow the same SpecComplianceListener rules Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Jan 18, 2019
+ All Compliance modes are configurable from HttpConfiguration + HttpCompliance is now a class with a Builder syntax. + You can base custom HttpCompliance configurations off of one of the existing baselines RFC7230 or RFC2616. + All LEGACY based compliance modes are gone. + Moved HttpComplianceSection into HttpCompliance as its only used to report violations. + Simplified the HttpParser behavior WRT HttpCompliance configurations and violation reporting. + Fixing testcases and their expectations on original values and not the Field Value cache + Creating top level top level SpecViolationListener for components to use to report any kind of Spec violation + SpecReference is the interface for a specific reference within a specific spec for purposes of reporting spec violations. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Jan 18, 2019
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Jan 18, 2019
+ Adding missing header to SpecReference + Updating year on old headers Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Jan 18, 2019
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Jan 23, 2019
gregw
added a commit
that referenced
this issue
Mar 6, 2019
Signed-off-by: Greg Wilkins <gregw@webtide.com>
This was referenced Mar 6, 2019
gregw
added a commit
that referenced
this issue
Mar 12, 2019
Added an abstraction of general compliance mode, violation and listener Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 12, 2019
clean up violation testing and reporting in HttpParser Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 12, 2019
unused field Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 12, 2019
CookieCompliance implemented new APIs Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 13, 2019
Updated unit tests for messages and reasons Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 13, 2019
added valueOf methods for XML calls. Signed-off-by: Greg Wilkins <gregw@webtide.com>
gregw
added a commit
that referenced
this issue
Mar 13, 2019
Fixed up httpCompliance configuration. Signed-off-by: Greg Wilkins <gregw@webtide.com>
joakime
added a commit
that referenced
this issue
Mar 13, 2019
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
joakime
added a commit
that referenced
this issue
Mar 13, 2019
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(Discovered during analysis of #3009)
The
HttpCompliance
object is an enum with awkward CUSTOM0 entries for customization, it should really be a class.The
HttpComplianceSection
seems OK at first blush.The text was updated successfully, but these errors were encountered: