-
Notifications
You must be signed in to change notification settings - Fork 103
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
Replace jzlib with maintained library #265
Comments
I don't think compression belongs in stapler or an app framework at all, if anything it is the job of the container. (Tomcat specifies this on the connector and jetty uses a handler) I would suggest we remove it, and enable compression in winstone (example. (Any other users can configure their app server) Less code FTW 🚀 |
Certainly sounds attractive in principle. It is longstanding tech debt. Open questions:
|
Likely as you suggest , possibly we want to introduce a superclass to the compression filter that is a "ExceptionHandlerFilter" to catch errors so we can write diagnostic files, and then switch usage over to that from the ErrorHandler (again at our leisure) At any case I do not think there is a too many stars we have to align if we wanted to bite the bullet. If there is a more "modern" way to have an error handler for a webapp, possibly - we just need to have an |
My hope is that
Likely there is. |
jzlib library seems to have been abandoned, so we should not compound the problem by using a fork.
IIRC @jtnord suggested dispensing with the
org.kohsuke.stapler.compression
package. I see it used in e.g. https://github.com/jenkinsci/jenkins/blob/bd7c823c2781d9282eab71a5e2967d386c629344/core/src/main/java/hudson/model/Api.java#L194-L195 and https://github.com/jenkinsci/jenkins/blob/f6378676b11288cc2525852b0a1a441d147e31d3/core/src/main/java/hudson/model/LargeText.java#L214-L219 but I think it is also used for general-purpose page rendering? We could use https://github.com/eclipse/jetty.project/tree/jetty-9.4.x/jetty-server/src/main/java/org/eclipse/jetty/server/handler/gzip instead. Or we could switch to another gzip library, or another encoding altogether. https://en.wikipedia.org/wiki/HTTP_compression#Content-Encoding_tokens suggests that we could usedeflate
with Java Platform calls alone, or Brotli with whatever library. Or we could just remove compression under the assumption that most clients are collocated with the Jenkins service on a fast network.Originally posted by @jglick in #263 (comment)
The text was updated successfully, but these errors were encountered: