Skip to content

Tags: NetflixUI/zuul

Tags

v1.3.0

Toggle v1.3.0's commit message
Release of 1.3.0

- 56ba3ec: Fix for unit-test breakage due to admin.enabled property default changing
- d1e6834: Merge pull request Netflix#267 from Netflix/AdminPageFix
- ba227b4: Protect Admin Page

v1.2.3

Toggle v1.2.3's commit message
Merge pull request Netflix#258 from gzurowski/fix-overrides

Consistently use @OverRide annotation across all classes

v1.2.2

Toggle v1.2.2's commit message
Release of 1.2.2

- 48863dc: Merge pull request Netflix#225 from Netflix/issues/127
- 73d86bf: Fix for Netflix#127

v1.2.1

Toggle v1.2.1's commit message
Release of 1.2.1

- d084b1b: Change the default origin in zuul-simple-webapp to be http://httpbin.org as it's more useful for testing than the previous http://apache.org
- e5aaa55: Fix the asm mismatch errors when for gradle jettyRun task
- c4af3a0: Merge pull request Netflix#222 from mattnelson/daemon_threads
- bfe7e19: Updated Bintray API key
- af12f5b: Use daemon threads for filter pollers

v1.2.0

Toggle v1.2.0's commit message
Release of 1.2.0

- 862283f: Trying to resolve some unit-test failures
- 5bc0d56: Merge branch 'alexpanov-1.x' into 1.x
- 4e94d0a: Merge branch '1.x' of git://github.com/alexpanov/zuul into alexpanov-1.x
- 70bae0b: Merge pull request Netflix#199 from ausmith/1.x
- 80eb6da: Merge pull request Netflix#214 from spencergibb/1.x
- d5aa760: Zuul HttpServletRequestWrapper now extends javax HttpServletRequestWrapper.
- fc9bc71: Merge pull request Netflix#212 from ghenkes/remove-turbine
- 65484cc: Remove unused turbine dependency
- 0b3ae9c: Merge pull request Netflix#204 from VijithaEkanayake/1.x
- 1a24fc6: Fixing Zuul-Simple-Webapp to route POST request to RouteHost
- 2622719: Fixing issue of cleaning expired connections
- 11ae37f: Handle query params without an `=`
- 53bdeb0: Merge pull request Netflix#198 from ausmith/1.x
- f9a462b: Specially handle encoded ampersands in query string
- b8e6002: Merge pull request Netflix#192 from iamjarvo/typo
- b879c40: Fix typo
- fd26806: Merge pull request Netflix#190 from tbreitkopf/1.x
- 305e534: implemented updated AstyanaxContext methods
- 5449df3: Move to gradle 2.6 and nebula.netflixoss 3.0.0
- 9ae803c: Setup keys for travis builds
- 15169e4: [1.x] Setting up travis.
- db6dda5: Make FilterFileManager related classes non final
- 8238f25: Simplify action validation in FilterScriptManagerServlet

v1.1.0

Toggle v1.1.0's commit message
Release of 1.1.0

- 0a5b3fa: Merge pull request Netflix#189 from polarbizzle/fix_oss_publish
- e88a5fb: upgrading nebula.netflixoss to 3.1.2
- c4dec00: Merge pull request Netflix#168 from mattnelson/1.x
- ce093dc: Support HostCommand group key parameter
- e64e537: Merge pull request Netflix#163 from manuelcorrea/gradle_plugins
- 1d52e7c: Merge pull request Netflix#170 from chenopodium/1.x
- eb1fc71: Merge pull request Netflix#171 from jonjack/bugfix/fix-groovy-version
- 20b6469: Updated groovy version to fix build of zuul-simple-webapp
- 8b23275: Netflix#169
- e6e821a: Support RibbonCommand group key parameter
- 10d0f0a: tomcat, checkstyle, codenarc, and findbugs
- 4cd4e94: cobetura integration
- 16628f6: Merge pull request Netflix#161 from jusroberts/1.x
- 29fdfbb: 2.3.6
- 3b21e64: combining getSanitizedQueryString() with getQueryString()
- 73f55bf: Merge branch '1.x' of github.com:netflix/zuul into 1.x
- e45e8e1: removing added ?
- bea994c: adding getSanitizedQueryString()
- cddd3e7: Merge pull request Netflix#150 from freddd/updated-simple-example-new-httpclient
- c9dabb7: Updated httpclient and cleaned up example
- d567a42: Merge pull request Netflix#158 from rspieldenner/1xtravis
- c847a1a: Move to gradle 2.6 and nebula.netflixoss 3.0.0
- d8ddad5: Setup keys for travis builds
- fddf451: Merge pull request Netflix#153 from NiteshKant/1.x
- 5cdacc5: [1.x] Setting up travis.
- fdcda98: Merge pull request Netflix#134 from ghenkes/fix
- 74060d2: Merge pull request Netflix#137 from ghenkes/logging-fix
- fd0a0f6: Merge pull request Netflix#115 from hammer2j2/1.x
- db2fbec: Move exception logging to error filters
- be63e1d: Merge pull request Netflix#142 from kcbaltz/Fix-141-RequestParamStripped
- 8a29cf4: Merge pull request Netflix#144 from SDFE/1.x
- 7885d20: replace header with zuul request header, fix multiple header bug
- d2e4bc8: Fixed Issue 141 - Request Parameter with empty value being stripped
- 27541b7: Report ZuulExceptions through logger in ZuulServletFilter
- da700e1: Check isFilterDisabled in runFilter.
- 85ae0cc: Merge pull request Netflix#131 from alexpanov/1.x
- 442ec65: Extract FilterId concept
- 7e423a2: Use imports in FilterVerifier
- ee44130: Make FilterInfo immutable, remove superfluous JavaDoc, add tests
- 16270da: Fix issue Netflix#129, bump groovy-all version
- 51f23c1: Added .netflixoss config file to tell our jenkins job to use JDK8 for build, but compile to java 7 compatability.
- d5cbd03: Added recording of time taken to buffer request bodies in HttpServletRequestWrapper.
- d5c09a1: Bugfix for POST requests with a body, but no Content-Type header.
- 803615b: Merge pull request Netflix#122 from mhawthorne/1.x
- 02aa84e: only parses params from body for POSTS with form bodies
- 3378b35: Merge branch 'truncated-post-fix' into 1.x
- b3c886a: - Removed unnecessary warn log statement.
- 09fe03d: Merge pull request Netflix#118 from Netflix/truncated-post-fix
- a05152e: Merge branch '1.x' into truncated-post-fix
- dd38704: - Change HttpServletRequestWrapper to buffer chunked as well as non-chunked request bodies. -- And allow all request buffering to be disabled using a Servlet or ServletFilter init parameter.
- 64d6088: Merge pull request Netflix#98 from kpacha/uniform_manipulation_of_headers
- 707fd07: Merge pull request Netflix#63 from timmc/utf8-encode-response
- dab12e3: Merge pull request Netflix#57 from pmotyka/1.x
- aac4547: Merge pull request Netflix#103 from aandriyc/bugfix/thread_local_leak
- 6b53579: Merge pull request Netflix#116 from rspieldenner/netflixoss_1.x
- 851f4b1: Merge pull request Netflix#114 from manuelcorrea/ssl_support
- 195d0d6: - Catching SocketTimeoutException when copying request body inputstream and treating as empty body, with a log statement. This is to more gracefully handle the case of truncated post bodies when using tomcat APR connector (which fails differently to BIO connector).
- 91698a9: Remove unneeded files
- a764853: New nebula.netflixoss build
- 3057f90: Getting feet wet, added origin host header for sites which require it match the site name
- 026e99d: adding ssl scheme
- a2d6ecf: Fixed thread local leak
- 9224295: Merge pull request Netflix#100 from redmar/add-travis-ci-configuration
- 005ef1b: Merge pull request Netflix#99 from redmar/add-junit-4.10-dependency
- 8266783: first attempt at adding a .travis.yml config.
- 12601f4: add junit dependency in build.gradle
- 6676593: force the request headers to be lower-case, just like the ones added by Zuul
- b0a175d: Merge pull request Netflix#94 from pataprogramming/1.x
- cf7ed9d: Fix local httpRequest shadowing httpRequest() method
- d8a53e8: UTF-8 encode response body when converting to bytes
- 0adbea8: check if query string is null before string concatenation

v1.1.0-rc.2

Toggle v1.1.0-rc.2's commit message
Release of 1.1.0-rc.2

- 85ae0cc: Merge pull request Netflix#131 from alexpanov/1.x
- 442ec65: Extract FilterId concept
- 7e423a2: Use imports in FilterVerifier
- ee44130: Make FilterInfo immutable, remove superfluous JavaDoc, add tests
- 16270da: Fix issue Netflix#129, bump groovy-all version
- 51f23c1: Added .netflixoss config file to tell our jenkins job to use JDK8 for build, but compile to java 7 compatability.
- d5cbd03: Added recording of time taken to buffer request bodies in HttpServletRequestWrapper.
- d5c09a1: Bugfix for POST requests with a body, but no Content-Type header.
- 803615b: Merge pull request Netflix#122 from mhawthorne/1.x
- 02aa84e: only parses params from body for POSTS with form bodies
- 3378b35: Merge branch 'truncated-post-fix' into 1.x
- b3c886a: - Removed unnecessary warn log statement.
- 09fe03d: Merge pull request Netflix#118 from Netflix/truncated-post-fix
- a05152e: Merge branch '1.x' into truncated-post-fix
- dd38704: - Change HttpServletRequestWrapper to buffer chunked as well as non-chunked request bodies. -- And allow all request buffering to be disabled using a Servlet or ServletFilter init parameter.
- 64d6088: Merge pull request Netflix#98 from kpacha/uniform_manipulation_of_headers
- 707fd07: Merge pull request Netflix#63 from timmc/utf8-encode-response
- dab12e3: Merge pull request Netflix#57 from pmotyka/1.x
- aac4547: Merge pull request Netflix#103 from aandriyc/bugfix/thread_local_leak
- 6b53579: Merge pull request Netflix#116 from rspieldenner/netflixoss_1.x
- 851f4b1: Merge pull request Netflix#114 from manuelcorrea/ssl_support
- 195d0d6: - Catching SocketTimeoutException when copying request body inputstream and treating as empty body, with a log statement. This is to more gracefully handle the case of truncated post bodies when using tomcat APR connector (which fails differently to BIO connector).
- 91698a9: Remove unneeded files
- a764853: New nebula.netflixoss build
- 026e99d: adding ssl scheme
- a2d6ecf: Fixed thread local leak
- 9224295: Merge pull request Netflix#100 from redmar/add-travis-ci-configuration
- 005ef1b: Merge pull request Netflix#99 from redmar/add-junit-4.10-dependency
- 8266783: first attempt at adding a .travis.yml config.
- 12601f4: add junit dependency in build.gradle
- 6676593: force the request headers to be lower-case, just like the ones added by Zuul
- b0a175d: Merge pull request Netflix#94 from pataprogramming/1.x
- cf7ed9d: Fix local httpRequest shadowing httpRequest() method
- d8a53e8: UTF-8 encode response body when converting to bytes
- 0adbea8: check if query string is null before string concatenation

v2.0.0-rc.2

Toggle v2.0.0-rc.2's commit message
Release of 2.0.0-rc.2

- 9c2a788: Removing all the servlet-api hacks as not helping.
- c8cedea: Another attempt at fixing the problem with servlet-api:3.0.1 being included and its dependencies then excluded.
- 5c95703: Back-out of using 'provided' for test dependencies.
- dcba7e5: Switched all the test dependencies to use 'provided'. Setting 'transitive=false' for the servlet-api dependency to try to workaround some oddness with transitive dependencies of servlet-api 3.0.1 being excluded from downstream project.
- 99f0484: Force excluding newer javax.servlet-api (3. ) dependency to stop it being included transitively as well as 2.5.
- 3d46721: Added another Headers.contains() convenience method.
- 48eb9fb: Adding convenience method Cookies.getFirstValue().
- 4f6e36f: Changed the key name of EventProperties in SessionContext back to what is was before, to keep backward compat with existing filters using it.
- 41aa25e: Removed unused dependency on powermock.
- 6403e8b: Added OriginManager.createOrigin() with rxnetty and ribbon impls.
- 9badfe3: Changed HttpRequestMessage.getInfoForLoggin() to use reconstructURI() instead of just pathAndQuery and Host.
- 7cbb1d4: Added Headers.size() method.
- aca171b: Added ZuulMessage.setHeaders().
- a03bd7c: Changed interface of SessionContextFactory.create() to return just ZuulMessage instead of Observable<ZuulMessage>. Because we were always just wrapping the return value in Observable.just() anyway, and found a need for caller to have direct access to the message. Improved the error handling in ZuulServlet a bit. And added start/stop of request timer.
- 08dcc18: Added a SessionContext.getString() convenience method.
- b25d3f3: Added ability to specify classNames to use for filters ("zuul.filters.classes"), as well as the directories of groovy files.
- c5c536f: Fixed unit-test.
- 62d6e85: Made FilterProcessor only apply each filter if that filter's priority is equals to or greater than the priroity set for the context.
- fc23e11: Added FilterPriority as 1st class attribute to SessionContext.
- 5ff05b6: Added a new FilterPriority enum that filters can be assigned. This is to be used to flag lower priority filters that can be skipped in situations like zuul throttling due to high load.
- 0a678e9: Added Headers.setIfAbsent() method.
- ceb8b77: Added some helper methods to ZuulMessage for setting body as text.
- 5fe5aa6: Added some helper methods for set-cookie handling to HttpResponseMessage.
- 38de34c: Added methods to HttpRequestMessage for reconstructing the original request URI.
- d966308: Added a zuul-specific Cookies class.
- d0cf482: Fixing unit-test.
- 546ab96: Moved the sample filters into new directory. So that can remove "filters" from the package names for them, as now using FQN.
- 941ead0: Changed BaseFilter.filterName() to return fully-qualified class name. As sometimes have same class name in different packages. Formalised the "error-endpoint" attribute on SessionContext.
- 6913b10: Added statusCode back to ZuulException defaulting to 500. Renamed SessionContext.getThrowable() to getError(). Fixed a couple of incorrect usages of isAssignableFrom.
- a9f22b6: Adding config to tell the jenkins build to use java8.
- a553221: Added HttpRequestMessage.serverName.
- ea13979: Added a HttpSyncEndpoint base class to remove some boilerplate from static filters.
- 65aa3ee: Changed Timing class to be in nanoseconds instead of millis, like edgezuul.
- 6a426d9: Added partial impls of timings of request/response body read/writes.
- 5fe9c51: Created a new Timings class that encapsulates the per-request Timing instances in SessionContext.
- cfa3841: Fixed some problems with error-handling. - Removed statusCode from ZuulException. - Changed order of args to ZuulException constructors so it's the same as normal Exceptions. - Apply Error endpoints in FilterProcessor more consistently - ie after each phase.
- c024cfe: Fixed unit-test.
- fb25fcf: Make FilterUsageNotifier injected.
- ab52ae3: Enable servlet attributes set in ServletFilters to be passed to Zuul filters.
- ab10cac: Started storing a copy of the original request info before filters are applied. So can use that in metrics and access log.
- 40c5825: Added a port attribute to HttpRequestMessage.
- 234884e: Moved some reusable methods into ProxyUtils class.
- 91d65ec: Had forgotten to update the Routing filters to use the new SessionContext.getEndpoint() method.
- 4a90acb: Refactored the SessionContext class: - Merged the separate Attributes class into SessionContext. As it wasn't really giving any extra value. - Removed Helpers. Just store them in SessionContext instead now.
- c54d170: Moved some of the RequestCompleteHandler and RequestMetricsPublisher implementations around a bit.
- ce39acc: Added license header to all files missing it.
- acff394: Merge pull request Netflix#125 from Netflix/zuul2-bridge
- 25ee02b: Started getting ASM exceptions on startup again, so added the hack for asm versions back in just for zuul-netty-sample.
- fe1387e: - Renamed the zuul-servlet-api module to zuul-servletapi. - Renamed the zuul-netflix-webapp module to zuul-servletapi-sample.
- c910048: - Changed case of the name of ZuulBootstrap class, to fix difference in case between file and class. - RibbonOrigin test fix. - Added rxnetty-spectator dependency back in. - Re-generated dependency lock file.
- 4abcf4f: Merge branch '1.x' into zuul2-bridge
- 35648eb: Added a copy of the HTTP2Test class from jetty, and modified to add a test of push promises using the jetty-http2 interfaces directly.
- 4a0e58d: Just initial copy of a sample jetty server. No zuul integration yet.
- 0afe0be: Removed some duplication from gradle files. Un-hardcoded some dependency versions. Added boilerplate for a new zuul-jetty module.
- f90bfa3: Added usage of nebula.dependency-lock. And generated a global lock file.
- 4045b4c: Fix for another problem in GZip filter tests.
- 51488a8: Made gradle integationTest not run as part of normal build. Needs to be explicitly run.
- fca347e: Fixed remaining problems with Gzip filters after having switched to using ZuulMessage.getBodyStream().
- 78d6ef9: Moved the code for buffering message bodies into ZuulMessage. Not fully finished refactoring the GZip filters to use Observable.
- b734349: Pulled out some Http-specific base classes for filters. Just to make the majority of filters a bit less boilerplate.
- c74ab30: Fixing some unit-tests.
- afc314f: Stop blocking on request body InputStream in RibbonOrigin. Still need to stop buffering the request body, like we do with response body now for servlets.
- c62c296: Got streaming of response inputstreams using Observable<ByteBuf> in zuul-servlet.
- 72a6f4e: Changed the ZuulMessage.body to be an Observable<ByteBuf> again. - Added an in   out filter to buffer request and response bodies for users that want to avoid having to deal with Observable bodies.
- 142036e: Only run the ExampleIOPreFilter for subset of urls.
- 281142f: Yet more faffing to get integration tests working with both the jetty and netty servers.
- 0065534: Getting both sets of integration tests for zuul-netty-sample and zuul-netflix-webapp to have separate properties.
- 2b10206: Getting a basic smoke-test working from gradle for zuul-netty-sample.
- db398f5: More work on getting some basic integration test automation in place.
- ad68380: Refactored the ZuulNFRequest filter implementations into a common superclass in zuul-core (NfProxyEndpoint).
- 9f4f423: Ensuring that the message passed along from a filter failure does not cause ClassCastException when received by filter in next phase.
- e0cd660: More fixes for how the error filters are run.
- 5fa651c: Fixed how error filters were being applied.
- 78cb625: All unit-tests back to green.
- 22ebc99: Updating more of the filters to new interface. Changed name of the HttpResponseMessage.getHttpRequest() method to getRequest().
- d5c09a1: Bugfix for POST requests with a body, but no Content-Type header.
- 8351e9b: Mostly finished updating the zuul-netflix-webapp filters to the latest filter interfaces. Still have all the zuul-netty-sample filters to do as well though yet.
- b114c09: Further changes to the Filter and Context interfaces. Merged the separate AsyncFilter and SyncFilter interfaces back into ZuulFilter, as was not working well.
- 803615b: Merge pull request Netflix#122 from mhawthorne/1.x
- 02aa84e: only parses params from body for POSTS with form bodies
- 3c1fe35: Various fixes.
- 1174ae0: Got zuul-netflix-webapp working with the newer RibbonOriginManager classes.
- 75a3cf2: Initial start on porting zuul-netflix-webapp to use the Origin/OriginManager interfaces.
- 75f4d93: Added and got working an example pre filter that does async IO.
- c7e1e4b: Got the zuul-netty-sample app working now. * Using a basic non-eureka/ribbon LoadBalancer impl. * An example Routing filter that either proxies to api-global.netflix.com, www.yahoo.com, or executes a static response.
- accb380: - Moved some more of the rxnetty-based proxying code from edgezuul-v2. Still a work-in-progress.
- edbccac: - Got zuul-netty-sample app working - but still temporarily using Ribbon instead of rxnetty client.
- debf219: Getting the zuul-netty-sample working with latest interfaces. Not quite there yet.
- 8c9a44d: Got servlet/webapp zuul working using the Observable-based FilterProcessor now. * Using DI for more of the initializtion now.
- daee51f: Refactoring the zuul servlet code to use the same Observable-based FilterProcessor impl as that used for netty.
- a4da4a6: Another fix to unit-test working differently on the jenkins build. The ordering of url parameters is not determinate, so need to avoid testing order of them.
- 9122e87: Fixing a unit-test that fails in the jenkins build. Seems like java.net.URLEncoder encode spaces as ' ' on my java8 on mac, but as '%' on Java7 on linux...
- c368516: More fixes for new interfaces. And fixed the incorrect package naming for the filters.
- f7538f1: - Refactored and fixed the groovy filter unit-tests. - Removed remaining usages of RequestContext and javax.servlet classes.
- 0df4413: - Finished fixing all the unit-tests afer refactoring.
- fd68976: - Junked the zuul-simple-webapp. Only going to focus on supporting the zuul-netflix-webapp for zuul2.
- fac8991: - And further refactoring to use the new filter and context interfaces.
- ba4e99c: - Further refactoring to use the new filter and context interfaces. Still not complete.
- d9f11ae: Copied the initial new filter and context model interfaces to this branch (from my abandoned fork of zuul2). - Still have a lot more to fix and add.
- e69427b: - Further refactoring to decouple zuul-core from the servlet api. More to come still.
- f3525f2: - Started creating new module structure that will support the new 2.x filter interfaces for both tomcat and netty servers.
- e9a4df5: - Combined zuul-netflix module into zuul-core. This is a precursor to changing the module structure in preparation for the zuul1-zuul2 bridge layout.
- 3378b35: Merge branch 'truncated-post-fix' into 1.x
- b3c886a: - Removed unnecessary warn log statement.
- 09fe03d: Merge pull request Netflix#118 from Netflix/truncated-post-fix
- a05152e: Merge branch '1.x' into truncated-post-fix
- dd38704: - Change HttpServletRequestWrapper to buffer chunked as well as non-chunked request bodies. -- And allow all request buffering to be disabled using a Servlet or ServletFilter init parameter.
- 64d6088: Merge pull request Netflix#98 from kpacha/uniform_manipulation_of_headers
- 707fd07: Merge pull request Netflix#63 from timmc/utf8-encode-response
- dab12e3: Merge pull request Netflix#57 from pmotyka/1.x
- aac4547: Merge pull request Netflix#103 from aandriyc/bugfix/thread_local_leak
- 6b53579: Merge pull request Netflix#116 from rspieldenner/netflixoss_1.x
- 851f4b1: Merge pull request Netflix#114 from manuelcorrea/ssl_support
- 195d0d6: - Catching SocketTimeoutException when copying request body inputstream and treating as empty body, with a log statement. This is to more gracefully handle the case of truncated post bodies when using tomcat APR connector (which fails differently to BIO connector).
- 91698a9: Remove unneeded files
- a764853: New nebula.netflixoss build
- 026e99d: adding ssl scheme
- a2d6ecf: Fixed thread local leak
- 9224295: Merge pull request Netflix#100 from redmar/add-travis-ci-configuration
- 005ef1b: Merge pull request Netflix#99 from redmar/add-junit-4.10-dependency
- 8266783: first attempt at adding a .travis.yml config.
- 12601f4: add junit dependency in build.gradle
- 6676593: force the request headers to be lower-case, just like the ones added by Zuul
- b0a175d: Merge pull request Netflix#94 from pataprogramming/1.x
- cf7ed9d: Fix local httpRequest shadowing httpRequest() method
- d8a53e8: UTF-8 encode response body when converting to bytes
- 0adbea8: check if query string is null before string concatenation

v2.0.0-rc.1

Toggle v2.0.0-rc.1's commit message
Release of 2.0.0-rc.1

- c8cedea: Another attempt at fixing the problem with servlet-api:3.0.1 being included and its dependencies then excluded.
- 5c95703: Back-out of using 'provided' for test dependencies.
- dcba7e5: Switched all the test dependencies to use 'provided'. Setting 'transitive=false' for the servlet-api dependency to try to workaround some oddness with transitive dependencies of servlet-api 3.0.1 being excluded from downstream project.
- 99f0484: Force excluding newer javax.servlet-api (3. ) dependency to stop it being included transitively as well as 2.5.
- 3d46721: Added another Headers.contains() convenience method.
- 48eb9fb: Adding convenience method Cookies.getFirstValue().
- 4f6e36f: Changed the key name of EventProperties in SessionContext back to what is was before, to keep backward compat with existing filters using it.
- 41aa25e: Removed unused dependency on powermock.
- 6403e8b: Added OriginManager.createOrigin() with rxnetty and ribbon impls.
- 9badfe3: Changed HttpRequestMessage.getInfoForLoggin() to use reconstructURI() instead of just pathAndQuery and Host.
- 7cbb1d4: Added Headers.size() method.
- aca171b: Added ZuulMessage.setHeaders().
- a03bd7c: Changed interface of SessionContextFactory.create() to return just ZuulMessage instead of Observable<ZuulMessage>. Because we were always just wrapping the return value in Observable.just() anyway, and found a need for caller to have direct access to the message. Improved the error handling in ZuulServlet a bit. And added start/stop of request timer.
- 08dcc18: Added a SessionContext.getString() convenience method.
- b25d3f3: Added ability to specify classNames to use for filters ("zuul.filters.classes"), as well as the directories of groovy files.
- c5c536f: Fixed unit-test.
- 62d6e85: Made FilterProcessor only apply each filter if that filter's priority is equals to or greater than the priroity set for the context.
- fc23e11: Added FilterPriority as 1st class attribute to SessionContext.
- 5ff05b6: Added a new FilterPriority enum that filters can be assigned. This is to be used to flag lower priority filters that can be skipped in situations like zuul throttling due to high load.
- 0a678e9: Added Headers.setIfAbsent() method.
- ceb8b77: Added some helper methods to ZuulMessage for setting body as text.
- 5fe5aa6: Added some helper methods for set-cookie handling to HttpResponseMessage.
- 38de34c: Added methods to HttpRequestMessage for reconstructing the original request URI.
- d966308: Added a zuul-specific Cookies class.
- d0cf482: Fixing unit-test.
- 546ab96: Moved the sample filters into new directory. So that can remove "filters" from the package names for them, as now using FQN.
- 941ead0: Changed BaseFilter.filterName() to return fully-qualified class name. As sometimes have same class name in different packages. Formalised the "error-endpoint" attribute on SessionContext.
- 6913b10: Added statusCode back to ZuulException defaulting to 500. Renamed SessionContext.getThrowable() to getError(). Fixed a couple of incorrect usages of isAssignableFrom.
- a9f22b6: Adding config to tell the jenkins build to use java8.
- a553221: Added HttpRequestMessage.serverName.
- ea13979: Added a HttpSyncEndpoint base class to remove some boilerplate from static filters.
- 65aa3ee: Changed Timing class to be in nanoseconds instead of millis, like edgezuul.
- 6a426d9: Added partial impls of timings of request/response body read/writes.
- 5fe9c51: Created a new Timings class that encapsulates the per-request Timing instances in SessionContext.
- cfa3841: Fixed some problems with error-handling. - Removed statusCode from ZuulException. - Changed order of args to ZuulException constructors so it's the same as normal Exceptions. - Apply Error endpoints in FilterProcessor more consistently - ie after each phase.
- c024cfe: Fixed unit-test.
- fb25fcf: Make FilterUsageNotifier injected.
- ab52ae3: Enable servlet attributes set in ServletFilters to be passed to Zuul filters.
- ab10cac: Started storing a copy of the original request info before filters are applied. So can use that in metrics and access log.
- 40c5825: Added a port attribute to HttpRequestMessage.
- 234884e: Moved some reusable methods into ProxyUtils class.
- 91d65ec: Had forgotten to update the Routing filters to use the new SessionContext.getEndpoint() method.
- 4a90acb: Refactored the SessionContext class: - Merged the separate Attributes class into SessionContext. As it wasn't really giving any extra value. - Removed Helpers. Just store them in SessionContext instead now.
- c54d170: Moved some of the RequestCompleteHandler and RequestMetricsPublisher implementations around a bit.
- ce39acc: Added license header to all files missing it.
- acff394: Merge pull request Netflix#125 from Netflix/zuul2-bridge
- 25ee02b: Started getting ASM exceptions on startup again, so added the hack for asm versions back in just for zuul-netty-sample.
- fe1387e: - Renamed the zuul-servlet-api module to zuul-servletapi. - Renamed the zuul-netflix-webapp module to zuul-servletapi-sample.
- c910048: - Changed case of the name of ZuulBootstrap class, to fix difference in case between file and class. - RibbonOrigin test fix. - Added rxnetty-spectator dependency back in. - Re-generated dependency lock file.
- 4abcf4f: Merge branch '1.x' into zuul2-bridge
- 35648eb: Added a copy of the HTTP2Test class from jetty, and modified to add a test of push promises using the jetty-http2 interfaces directly.
- 4a0e58d: Just initial copy of a sample jetty server. No zuul integration yet.
- 0afe0be: Removed some duplication from gradle files. Un-hardcoded some dependency versions. Added boilerplate for a new zuul-jetty module.
- f90bfa3: Added usage of nebula.dependency-lock. And generated a global lock file.
- 4045b4c: Fix for another problem in GZip filter tests.
- 51488a8: Made gradle integationTest not run as part of normal build. Needs to be explicitly run.
- fca347e: Fixed remaining problems with Gzip filters after having switched to using ZuulMessage.getBodyStream().
- 78d6ef9: Moved the code for buffering message bodies into ZuulMessage. Not fully finished refactoring the GZip filters to use Observable.
- b734349: Pulled out some Http-specific base classes for filters. Just to make the majority of filters a bit less boilerplate.
- c74ab30: Fixing some unit-tests.
- afc314f: Stop blocking on request body InputStream in RibbonOrigin. Still need to stop buffering the request body, like we do with response body now for servlets.
- c62c296: Got streaming of response inputstreams using Observable<ByteBuf> in zuul-servlet.
- 72a6f4e: Changed the ZuulMessage.body to be an Observable<ByteBuf> again. - Added an in   out filter to buffer request and response bodies for users that want to avoid having to deal with Observable bodies.
- 142036e: Only run the ExampleIOPreFilter for subset of urls.
- 281142f: Yet more faffing to get integration tests working with both the jetty and netty servers.
- 0065534: Getting both sets of integration tests for zuul-netty-sample and zuul-netflix-webapp to have separate properties.
- 2b10206: Getting a basic smoke-test working from gradle for zuul-netty-sample.
- db398f5: More work on getting some basic integration test automation in place.
- ad68380: Refactored the ZuulNFRequest filter implementations into a common superclass in zuul-core (NfProxyEndpoint).
- 9f4f423: Ensuring that the message passed along from a filter failure does not cause ClassCastException when received by filter in next phase.
- e0cd660: More fixes for how the error filters are run.
- 5fa651c: Fixed how error filters were being applied.
- 78cb625: All unit-tests back to green.
- 22ebc99: Updating more of the filters to new interface. Changed name of the HttpResponseMessage.getHttpRequest() method to getRequest().
- d5c09a1: Bugfix for POST requests with a body, but no Content-Type header.
- 8351e9b: Mostly finished updating the zuul-netflix-webapp filters to the latest filter interfaces. Still have all the zuul-netty-sample filters to do as well though yet.
- b114c09: Further changes to the Filter and Context interfaces. Merged the separate AsyncFilter and SyncFilter interfaces back into ZuulFilter, as was not working well.
- 803615b: Merge pull request Netflix#122 from mhawthorne/1.x
- 02aa84e: only parses params from body for POSTS with form bodies
- 3c1fe35: Various fixes.
- 1174ae0: Got zuul-netflix-webapp working with the newer RibbonOriginManager classes.
- 75a3cf2: Initial start on porting zuul-netflix-webapp to use the Origin/OriginManager interfaces.
- 75f4d93: Added and got working an example pre filter that does async IO.
- c7e1e4b: Got the zuul-netty-sample app working now. * Using a basic non-eureka/ribbon LoadBalancer impl. * An example Routing filter that either proxies to api-global.netflix.com, www.yahoo.com, or executes a static response.
- accb380: - Moved some more of the rxnetty-based proxying code from edgezuul-v2. Still a work-in-progress.
- edbccac: - Got zuul-netty-sample app working - but still temporarily using Ribbon instead of rxnetty client.
- debf219: Getting the zuul-netty-sample working with latest interfaces. Not quite there yet.
- 8c9a44d: Got servlet/webapp zuul working using the Observable-based FilterProcessor now. * Using DI for more of the initializtion now.
- daee51f: Refactoring the zuul servlet code to use the same Observable-based FilterProcessor impl as that used for netty.
- a4da4a6: Another fix to unit-test working differently on the jenkins build. The ordering of url parameters is not determinate, so need to avoid testing order of them.
- 9122e87: Fixing a unit-test that fails in the jenkins build. Seems like java.net.URLEncoder encode spaces as ' ' on my java8 on mac, but as '%' on Java7 on linux...
- c368516: More fixes for new interfaces. And fixed the incorrect package naming for the filters.
- f7538f1: - Refactored and fixed the groovy filter unit-tests. - Removed remaining usages of RequestContext and javax.servlet classes.
- 0df4413: - Finished fixing all the unit-tests afer refactoring.
- fd68976: - Junked the zuul-simple-webapp. Only going to focus on supporting the zuul-netflix-webapp for zuul2.
- fac8991: - And further refactoring to use the new filter and context interfaces.
- ba4e99c: - Further refactoring to use the new filter and context interfaces. Still not complete.
- d9f11ae: Copied the initial new filter and context model interfaces to this branch (from my abandoned fork of zuul2). - Still have a lot more to fix and add.
- e69427b: - Further refactoring to decouple zuul-core from the servlet api. More to come still.
- f3525f2: - Started creating new module structure that will support the new 2.x filter interfaces for both tomcat and netty servers.
- e9a4df5: - Combined zuul-netflix module into zuul-core. This is a precursor to changing the module structure in preparation for the zuul1-zuul2 bridge layout.
- 3378b35: Merge branch 'truncated-post-fix' into 1.x
- b3c886a: - Removed unnecessary warn log statement.
- 09fe03d: Merge pull request Netflix#118 from Netflix/truncated-post-fix
- a05152e: Merge branch '1.x' into truncated-post-fix
- dd38704: - Change HttpServletRequestWrapper to buffer chunked as well as non-chunked request bodies. -- And allow all request buffering to be disabled using a Servlet or ServletFilter init parameter.
- 64d6088: Merge pull request Netflix#98 from kpacha/uniform_manipulation_of_headers
- 707fd07: Merge pull request Netflix#63 from timmc/utf8-encode-response
- dab12e3: Merge pull request Netflix#57 from pmotyka/1.x
- aac4547: Merge pull request Netflix#103 from aandriyc/bugfix/thread_local_leak
- 6b53579: Merge pull request Netflix#116 from rspieldenner/netflixoss_1.x
- 851f4b1: Merge pull request Netflix#114 from manuelcorrea/ssl_support
- 195d0d6: - Catching SocketTimeoutException when copying request body inputstream and treating as empty body, with a log statement. This is to more gracefully handle the case of truncated post bodies when using tomcat APR connector (which fails differently to BIO connector).
- 91698a9: Remove unneeded files
- a764853: New nebula.netflixoss build
- 026e99d: adding ssl scheme
- a2d6ecf: Fixed thread local leak
- 9224295: Merge pull request Netflix#100 from redmar/add-travis-ci-configuration
- 005ef1b: Merge pull request Netflix#99 from redmar/add-junit-4.10-dependency
- 8266783: first attempt at adding a .travis.yml config.
- 12601f4: add junit dependency in build.gradle
- 6676593: force the request headers to be lower-case, just like the ones added by Zuul
- b0a175d: Merge pull request Netflix#94 from pataprogramming/1.x
- cf7ed9d: Fix local httpRequest shadowing httpRequest() method
- d8a53e8: UTF-8 encode response body when converting to bytes
- 0adbea8: check if query string is null before string concatenation

v1.1.0-rc.1

Toggle v1.1.0-rc.1's commit message
Release of 1.1.0-rc.1

- d5cbd03: Added recording of time taken to buffer request bodies in HttpServletRequestWrapper.
- d5c09a1: Bugfix for POST requests with a body, but no Content-Type header.
- 803615b: Merge pull request Netflix#122 from mhawthorne/1.x
- 02aa84e: only parses params from body for POSTS with form bodies
- 3378b35: Merge branch 'truncated-post-fix' into 1.x
- b3c886a: - Removed unnecessary warn log statement.
- 09fe03d: Merge pull request Netflix#118 from Netflix/truncated-post-fix
- a05152e: Merge branch '1.x' into truncated-post-fix
- dd38704: - Change HttpServletRequestWrapper to buffer chunked as well as non-chunked request bodies. -- And allow all request buffering to be disabled using a Servlet or ServletFilter init parameter.
- 64d6088: Merge pull request Netflix#98 from kpacha/uniform_manipulation_of_headers
- 707fd07: Merge pull request Netflix#63 from timmc/utf8-encode-response
- dab12e3: Merge pull request Netflix#57 from pmotyka/1.x
- aac4547: Merge pull request Netflix#103 from aandriyc/bugfix/thread_local_leak
- 6b53579: Merge pull request Netflix#116 from rspieldenner/netflixoss_1.x
- 851f4b1: Merge pull request Netflix#114 from manuelcorrea/ssl_support
- 195d0d6: - Catching SocketTimeoutException when copying request body inputstream and treating as empty body, with a log statement. This is to more gracefully handle the case of truncated post bodies when using tomcat APR connector (which fails differently to BIO connector).
- 91698a9: Remove unneeded files
- a764853: New nebula.netflixoss build
- 026e99d: adding ssl scheme
- a2d6ecf: Fixed thread local leak
- 9224295: Merge pull request Netflix#100 from redmar/add-travis-ci-configuration
- 005ef1b: Merge pull request Netflix#99 from redmar/add-junit-4.10-dependency
- 8266783: first attempt at adding a .travis.yml config.
- 12601f4: add junit dependency in build.gradle
- 6676593: force the request headers to be lower-case, just like the ones added by Zuul
- b0a175d: Merge pull request Netflix#94 from pataprogramming/1.x
- cf7ed9d: Fix local httpRequest shadowing httpRequest() method
- d8a53e8: UTF-8 encode response body when converting to bytes
- 0adbea8: check if query string is null before string concatenation