1. 24 Mar, 2015 1 commit
  2. 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
  3. 21 Mar, 2015 1 commit
  4. 20 Mar, 2015 5 commits
  5. 19 Mar, 2015 4 commits
  6. 18 Mar, 2015 4 commits
  7. 17 Mar, 2015 1 commit
  8. 16 Mar, 2015 4 commits
  9. 13 Mar, 2015 3 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
    • Fix issue with servlet request wrappers in Zuul · da4f5d34
      Dave Syer authored
      Because of the way that a FormBodyServletRequestWrapper was
      implemented (extending the Zuul servlet 2.5 wrapper) it could
      barf at runtime if anyone called its servlet 3.0 methods. The fix
      for that was to extract our Servlet30RequestWrapper and extend that
      instead.
      
      Also tweaked the DebugFilter a bit so it doesn't try and display
      the whole payload. Probably speeds up file uploads a bit but the
      fact that we have to store the whole request body in memory is
      going to kill us eventually.
      
      See gh-254
  10. 06 Mar, 2015 3 commits
  11. 05 Mar, 2015 2 commits
  12. 04 Mar, 2015 1 commit
  13. 03 Mar, 2015 1 commit
  14. 02 Mar, 2015 1 commit
  15. 27 Feb, 2015 4 commits
  16. 25 Feb, 2015 4 commits