Commit Graph

642 Commits

Author SHA1 Message Date
Greg Wilkins edc8bae556 472781 - GzipHandler isMimeTypeGzipable() bad logic
Added utility classes:

  IncludeExclude  - handles standard include exclude set
  RegexSet        - A set of regular expressions that have a combined compiled pattern
  PathMap.PathSet - A set of standard path mappings
2015-07-17 16:28:48 +10:00
Greg Wilkins de39bf5227 472781, 472782 Improve GzipHandler Include/Exclude handling
Made a common utility class for include/exclude handling
Use path exclusion rather than mime exclusion for svg
2015-07-17 08:11:11 +10:00
Simone Bordet 9549001d8c 472422 - Custom status codes result in a NumberFormatException while using http2.
Fixed constructor that was passing the name as the value.
Also other cleanups.
2015-07-11 16:30:05 +02:00
Greg Wilkins 4e3b400550 464741 - HttpFields declares IllegalArgumentException as checked exception 2015-07-08 17:48:39 +10:00
Greg Wilkins 7fbf512b17 471985 NPE in HttpFields.putField
The problem had several aspects:
 * HttpField.add should not let a null entry be added to the fields
 * The putHeaders methods should have checked for a null field before trying to add it
 * But the fundamental problem was the JarFileResource.close was leaving exist==true, so a new entry was never created.
2015-07-08 16:07:37 +10:00
Joakim Erdfelt e8eed798ab Fixing exception message 2015-07-06 14:27:38 -07:00
Greg Wilkins 13ce021e5e 471464 - Parsing issues with HttpURI
Fixed parsing of CONNECT URIs
2015-07-01 15:50:31 +10:00
Greg Wilkins 072d11b75c 471464 - Parsing issues with HttpURI
Some extra test cases
2015-07-01 14:06:08 +10:00
Greg Wilkins dd9e3d8ee9 471464 - Parsing issues with HttpURI
Removed pre-existing lookahead
made {} style more consistent
2015-07-01 13:36:49 +10:00
Greg Wilkins 97e5b86b26 471464 - Parsing issues with HttpURI
Removed authhostport boolean
removed lookahead in start
2015-07-01 13:10:16 +10:00
Joakim Erdfelt f299979989 Fixing javadoc on HttpURI.getPath() 2015-06-30 17:46:09 -07:00
Joakim Erdfelt e7d733bda0 471464 - Parsing issues with HttpURI
+ Updating expectations on HttpURIParseTest
+ Making results of new HttpURI(String) and new HttpURI(URI) consistent
+ Making results of HttpURI parsing consistent with java.net.URI
+ Making output of HttpURI.toString() and java.net.URI.toASCIIString()
  consistent with regards to ssp (scheme specific part) behavior
2015-06-30 17:37:40 -07:00
Joakim Erdfelt f3fe4331c4 471464 - Parsing issues with HttpURI
+ Adding documented and annotated tests cases showing problems
  (Note: some tests are @Ignore'd at the moment)
2015-06-30 10:49:28 -07:00
Joakim Erdfelt b522cf0bd8 471388 - StringIndexOutOfBoundsException when using <c:url> with parameters
+ Cleaning up HttpURITest
+ Creating parameterized HttpURIParseTest from various separate test
  cases in former HttpURITest
  + Currently @Ignored
  + Test Parse from String
  + Test Parse from URI
  + Test Parse result differences with java.net.URI
+ Adding more testcases to demonstrate bug
2015-06-29 17:35:34 -07:00
Greg Wilkins 3e401a62e9 StringUtil.csvSplit(String) 2015-06-19 16:48:53 +10:00
Greg Wilkins b2e8d2cd04 minor optimisations 2015-05-22 22:53:01 +10:00
Jan Bartel e30c05cc2b Merge remote-tracking branch 'origin/jetty-9.2.x'
Conflicts:
	tests/test-integration/src/test/java/org/eclipse/jetty/test/support/TestableJettyServer.java
	tests/test-integration/src/test/resources/BIOHttp.xml
	tests/test-integration/src/test/resources/BIOHttps.xml
	tests/test-integration/src/test/resources/NIOHttp.xml
	tests/test-integration/src/test/resources/NIOHttps.xml
2015-04-30 10:44:44 +10:00
Greg Wilkins d5c95a1302 465747 - Jetty is failing to process all HTTP OPTIONS requests.
The Server handleOptions method was handling all OPTIONS * requests with a blank 200 response.
This has been fixed so that this method only checks that * URI is only applied to OPTIONS method.
2015-04-29 14:01:20 +10:00
Simone Bordet a2566bedd8 Merged branch 'jetty-9.2.x' into 'master'. 2015-04-23 09:09:48 +02:00
Greg Wilkins f061ae79f4 465181 HttpParser delay messageComplete until after chunk trailer 2015-04-22 20:56:09 +10:00
Greg Wilkins cfb9b3f19b 464744 - PathMap.match() never throws IllegalArgumentException 2015-04-21 15:18:47 +10:00
Joakim Erdfelt 3dc29f5b3a 464727 - Update Javadoc for Java 8 DocLint
+ Fixing javadoc in jetty-http
2015-04-15 14:38:35 -07:00
Greg Wilkins 1cb0449be3 Organised imports 2015-03-26 12:32:15 +11:00
Greg Wilkins caacebc223 459845 - Support upgrade from http1 to http2
functioning implementation.  Not exactly the most elegant solution, but works with nghttp2 -u
2015-03-19 12:02:54 +11:00
Greg Wilkins 93a6811580 462040 reverted and deprecated getStringField methods 2015-03-13 14:51:08 +11:00
Greg Wilkins 0dd58d2efe 459845 - Support upgrade from http1 to http2
Moved the sneaky direct upgrade to its own method and added support to detect a standard upgrade.
The standard upgrade now creates the h2c connection and decodes the settings header, but it does not yet process the
settings nor send a response to the request.
2015-03-12 16:52:17 +11:00
Greg Wilkins 48b6bec64c Merge remote-tracking branch 'origin/jetty-9.2.x'
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
2015-03-05 20:17:20 +11:00
Greg Wilkins f4ad0dce98 461350 Update HttpParser IllegalCharacter handling to RFC7230 2015-03-05 19:54:25 +11:00
Greg Wilkins 042de2ec9f 461452 Double release of buffer by HttpReceiverOverHTTP
Updated HttpParse to always return from parseNext when messageComplete is called.  This allows it to notice reentrant state changes
and removes the need for HttpReceiverOverHTTP.methodComplete to return true, thus avoiding the race.
2015-03-05 15:26:19 +11:00
Joakim Erdfelt a32c9ed79c Merge branch 'jetty-9.2.x'
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
	jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
	jetty-start/src/main/java/org/eclipse/jetty/start/Module.java
2015-02-23 18:05:19 -07:00
Joakim Erdfelt 3e7b5f0fa9 460642 - HttpParser error 400 can expose previous buffer contents in HTTP status reason message
+ Simplifying behavior
2015-02-23 14:57:22 -07:00
Joakim Erdfelt 4df5647f6d 460642 - HttpParser error 400 can expose previous buffer contents in HTTP status reason message 2015-02-23 14:44:53 -07:00
Joakim Erdfelt 22a0cb4a28 Improving HttpField.nameHashCode 2015-02-20 10:54:28 -07:00
Joakim Erdfelt 08b4bd439e Fixing tests on http2-hpack
+ HttpField.nameHashCode() fixed to actually be US-ASCII case
  insensitive per documentation
+ Since removal of MetaData equals/hashcode, the comparison
  of the MetaData and MetaData.Response is now done entirely
  within the HpackTest
2015-02-20 10:16:03 -07:00
Simone Bordet f61cfb7016 Fixed construction of MetaData.Request and handling of HttpFields by MetaData. 2015-02-20 16:36:11 +01:00
Simone Bordet 2d932fe5c7 Removed hashCode() and equals() and fixed toString().
MetaData instances are mutable, and hashCode() and equals() were
based on those mutable fields; mutable hash codes break hash data
structures, when the object is inserted and then its hash code changes.

Fixed toString() to avoid NPE if _fields is null.
2015-02-20 16:02:54 +01:00
Greg Wilkins c22d79f673 Merge remote-tracking branch 'origin/jetty-9.2.x'
Conflicts:
	VERSION.txt
	aggregates/jetty-all/pom.xml
	apache-jsp/pom.xml
	apache-jstl/pom.xml
	examples/async-rest/async-rest-jar/pom.xml
	examples/async-rest/async-rest-webapp/pom.xml
	examples/async-rest/pom.xml
	examples/embedded/pom.xml
	examples/pom.xml
	jetty-alpn/jetty-alpn-client/pom.xml
	jetty-alpn/jetty-alpn-server/pom.xml
	jetty-alpn/pom.xml
	jetty-annotations/pom.xml
	jetty-ant/pom.xml
	jetty-cdi/pom.xml
	jetty-client/pom.xml
	jetty-continuation/pom.xml
	jetty-deploy/pom.xml
	jetty-distribution/pom.xml
	jetty-fcgi/fcgi-client/pom.xml
	jetty-fcgi/fcgi-server/pom.xml
	jetty-fcgi/pom.xml
	jetty-http-spi/pom.xml
	jetty-http/pom.xml
	jetty-io/pom.xml
	jetty-jaas/pom.xml
	jetty-jaspi/pom.xml
	jetty-jmx/pom.xml
	jetty-jndi/pom.xml
	jetty-jsp/pom.xml
	jetty-jspc-maven-plugin/pom.xml
	jetty-maven-plugin/pom.xml
	jetty-monitor/pom.xml
	jetty-nosql/pom.xml
	jetty-osgi/jetty-osgi-alpn/pom.xml
	jetty-osgi/jetty-osgi-boot-jsp/pom.xml
	jetty-osgi/jetty-osgi-boot-warurl/pom.xml
	jetty-osgi/jetty-osgi-boot/pom.xml
	jetty-osgi/jetty-osgi-httpservice/pom.xml
	jetty-osgi/jetty-osgi-npn/pom.xml
	jetty-osgi/pom.xml
	jetty-osgi/test-jetty-osgi-context/pom.xml
	jetty-osgi/test-jetty-osgi-webapp/pom.xml
	jetty-osgi/test-jetty-osgi/pom.xml
	jetty-plus/pom.xml
	jetty-proxy/pom.xml
	jetty-quickstart/pom.xml
	jetty-rewrite/pom.xml
	jetty-runner/pom.xml
	jetty-security/pom.xml
	jetty-server/pom.xml
	jetty-servlet/pom.xml
	jetty-servlets/pom.xml
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/AsyncGzipFilter.java
	jetty-spdy/pom.xml
	jetty-spdy/spdy-alpn-tests/pom.xml
	jetty-spdy/spdy-client/pom.xml
	jetty-spdy/spdy-core/pom.xml
	jetty-spdy/spdy-example-webapp/pom.xml
	jetty-spdy/spdy-http-client-transport/pom.xml
	jetty-spdy/spdy-http-common/pom.xml
	jetty-spdy/spdy-http-server/pom.xml
	jetty-spdy/spdy-npn-tests/pom.xml
	jetty-spdy/spdy-server/pom.xml
	jetty-spring/pom.xml
	jetty-start/pom.xml
	jetty-util-ajax/pom.xml
	jetty-util/pom.xml
	jetty-webapp/pom.xml
	jetty-websocket/javax-websocket-client-impl/pom.xml
	jetty-websocket/javax-websocket-server-impl/pom.xml
	jetty-websocket/pom.xml
	jetty-websocket/websocket-api/pom.xml
	jetty-websocket/websocket-client/pom.xml
	jetty-websocket/websocket-common/pom.xml
	jetty-websocket/websocket-server/pom.xml
	jetty-websocket/websocket-servlet/pom.xml
	jetty-xml/pom.xml
	pom.xml
	tests/pom.xml
	tests/test-continuation/pom.xml
	tests/test-integration/pom.xml
	tests/test-jmx/jmx-webapp-it/pom.xml
	tests/test-jmx/jmx-webapp/pom.xml
	tests/test-jmx/pom.xml
	tests/test-loginservice/pom.xml
	tests/test-quickstart/pom.xml
	tests/test-sessions/pom.xml
	tests/test-sessions/test-hash-sessions/pom.xml
	tests/test-sessions/test-jdbc-sessions/pom.xml
	tests/test-sessions/test-mongodb-sessions/pom.xml
	tests/test-sessions/test-sessions-common/pom.xml
	tests/test-webapps/pom.xml
	tests/test-webapps/test-jaas-webapp/pom.xml
	tests/test-webapps/test-jetty-webapp/pom.xml
	tests/test-webapps/test-jndi-webapp/pom.xml
	tests/test-webapps/test-mock-resources/pom.xml
	tests/test-webapps/test-proxy-webapp/pom.xml
	tests/test-webapps/test-servlet-spec/pom.xml
	tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
	tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
	tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
	tests/test-webapps/test-webapp-rfc2616/pom.xml
2015-02-19 14:05:00 +11:00
Greg Wilkins 13040f300d 460291 - AsyncGzipFilter Mappings
Added test harness to confirm mapping precidence
2015-02-19 09:15:38 +11:00
Greg Wilkins b78faff1bf improved exception messages during tests 2015-02-18 17:35:43 +11:00
Greg Wilkins c3332e7d2e 459845 - Support upgrade from http1 to http2/websocket
Added support for unofficial "upgrade" from http/1 to h2c
2015-02-13 12:16:03 +11:00
Greg Wilkins 0f7ee8d607 Merge remote-tracking branch 'origin/jetty-9.2.x'
Conflicts:
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpVersion.java
	jetty-io/src/main/java/org/eclipse/jetty/io/EndPoint.java
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
2015-02-13 11:45:56 +11:00
Greg Wilkins 2b2a70a93a 459845 Support upgrade
Added the concept of UpgradeFrom and UpgradeTo connections that support
transferring a buffer with content before opening new connection.
Aded EndPoint.update method as utility
2015-02-13 11:41:18 +11:00
Greg Wilkins ca8015828c 458663 Handle null header values 2015-02-11 14:30:26 +11:00
Greg Wilkins afdc522d20 fixed merge 2015-01-23 12:15:28 +01:00
Greg Wilkins 5b42345cc6 Merge remote-tracking branch 'origin/jetty-9.2.x' 2015-01-23 11:43:20 +01:00
Greg Wilkins 7e608a70eb 458209 Length check for HttpMethod MOVE lookahead 2015-01-23 11:04:33 +01:00
Greg Wilkins e1cc5fb487 Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt a3201a3c81 Happy New Year 2015 2015-01-07 17:06:59 -07:00
Joakim Erdfelt 6a0668b7a1 Happy New Year 2015 2015-01-07 17:03:30 -07:00
Simone Bordet 19570a7530 Removed printStackTrace() call. 2015-01-05 13:31:48 +01:00