GithubHelp home page GithubHelp logo

HttpServerPipelineFactory doesn't enforce an idle handler, though the client (DefaultRelayPipelineFactory) does about littleproxy HOT 7 CLOSED

adamfisk avatar adamfisk commented on May 25, 2024
HttpServerPipelineFactory doesn't enforce an idle handler, though the client (DefaultRelayPipelineFactory) does

from littleproxy.

Comments (7)

adamfisk avatar adamfisk commented on May 25, 2024

Thanks @theotherian. Does the commit above do what you want?

from littleproxy.

theotherian avatar theotherian commented on May 25, 2024

Yep, looks functionally the same as what I did. Should work just fine.

That said, if I may make a suggestion...

One of the other changes I made was changing the state of the HttpRequestHandler to maintain the HttpRequest instances regardless of whether or not useJmx was set to true. I also made a subclass of IdleAwareHandler that accepts an HttpRequestHandler in its constructor. This allowed me to find the requests that weren't fulfilled and log information that would tell me what resources were running slow. I'm not sure if this is a broad enough use case to justify the work, but it's certainly handy for debugging purposes while testing.

from littleproxy.

myleshorton avatar myleshorton commented on May 25, 2024

Sounds great. Any interest in putting in a pull request to get those changes in?

from littleproxy.

theotherian avatar theotherian commented on May 25, 2024

Sorry it's taken more forever to get back to you on this.

Yes, I want to put a pull request in. :)

Right now I'm working on trying to get the right patch file put together. My IDE made a bunch of whitespace changes that are totally unnecessary, so I'm working on creating a patch that just contains the relevant changes.

from littleproxy.

adamfisk avatar adamfisk commented on May 25, 2024

No worries at all -- I actually added idle state handling to HttpServerPipelineFactory on master. Can you take a look to make sure it's what you imagined? I have a ticket open to make it more configurable too -- currently just hard-coded to 70 seconds with both reads and writes being idle.

from littleproxy.

theotherian avatar theotherian commented on May 25, 2024

I reviewed it when you first checked it in, and again after forking your code for the pull request. As far as I can tell, everything looks good.

Configurability would be nice but the defaults are very reasonable. I would say it would also make sense to have the timeouts configurable on proxy to web connections as well, and also add some validation that the threshold for those is never greater than browser to proxy connections, lest you end up in the same situation that caused this ticket to be created :)

from littleproxy.

theotherian avatar theotherian commented on May 25, 2024

Closing issue since the patch has been added :)

from littleproxy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.