1. 13 Apr, 2015 1 commit
  2. 06 Apr, 2015 1 commit
  3. 02 Apr, 2015 1 commit
  4. 01 Apr, 2015 2 commits
    • Use UrlPathHelper to determine the current url path in Zuul · 555b1f1c
      Dave Syer authored
      If the app has a context path then the route locator does not match
      the whole requestURI (as provided by the raw servlet API), but Spring
      has a utility for stripping it off, so we can just use that.
      
      Fixes gh-270
    • Make /error path a special case in ZuulHandlerMapping · 5961931c
      Dave Syer authored
      If there is a default route (/**) then the ZuulHandlerMapping will
      mask the /error path in a normal Spring Boot application. This change
      makes it a special case so that ZuulHandlerMapping will never map
      the /error route (the one specified by the ErrorController).
      
      Fixes gh-284
  5. 27 Mar, 2015 3 commits
  6. 26 Mar, 2015 6 commits
  7. 25 Mar, 2015 1 commit
  8. 24 Mar, 2015 3 commits
  9. 23 Mar, 2015 1 commit
    • Re-initialize DiscoveryClient if config client is in "eureka-first" · e60a0fc4
      Dave Syer authored
      This was kind of ugly, and caused a static usage of the eureka
      DiscoveryCLient to become necessary again, just so the @Bean that is
      provided for the user stays accurate (it has to be the one in the main
      application context, even if the parent boot strap has different
      instance metadata).
      
      I tested with a vanilla Eureka server and config server, and used the
      client in tests/eureka-first.
      
      Fixes gh-268
  10. 21 Mar, 2015 1 commit
  11. 20 Mar, 2015 5 commits
  12. 19 Mar, 2015 4 commits
  13. 18 Mar, 2015 4 commits
  14. 17 Mar, 2015 1 commit
  15. 16 Mar, 2015 4 commits
  16. 13 Mar, 2015 2 commits
    • Allow streaming of multipart requests in Zuul proxy · 0391cfff
      Dave Syer authored
      It turns out that the suckiness of Zuul with multipart requests
      comes almost entirely from the Multipart handling in Spring's
      DispatcherServlet. This change makes the proxy routes available
      on an alternative path /zuul/<normal_path> (where
      /zuul is the default value of zuul.servletPath). I have
      tested those with 800MB file uploads using the main method in
      the FormZuulServletProxyApplicationTests and the main
      observation is that there is no OutOfMemory error (no-one tries
      to download the complete request body). It works with Ribbon
      and with the simple (HttpClient) filter. With Ribbon you
      will need to set some timeouts if you want to upload files
      as large as that, e.g. see application.yml in the tests:
      
      hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
      ribbon:
        ConnectTimeout: 3000
        ReadTimeout: 60000
      
      You need to set "Transfer-Encoding: chunked" in the
      incoming request. Chrome does not do this by default
      apparently, but I was able to test with curl, e.g.
      
      $ curl -v -H "Transfer-Encoding: chunked" \
        -F "file=@mylarg.iso" \
        localhost:9999/zuul/direct/file
      
      The old proxy paths through the DispatcherServlet are still
      available (for backwards compatibility and for convenience of
      having the paths available at the root of the context path).
      
      Fixes gh-254