How can i access underlying socket from twisted.web.client.Agent? I need to enable TCP_NODELAY on this socket.
Access socket options for twisted.web.client.Agent
908 views Asked by Michael At
1
There are 1 answers
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in TWISTED
- Scrapy CrawlProcess is throwing reactor already installed
- Issue when running Scrapy from a script in Celery: The installed reactor does not match the requested
- Why does the scrapy spider file run so slowly(/not run properly) after being imported in main file?
- Why does twisted with request cause a SSL certificate fail when the same in Flask doesn't?
- Why do twisted.internet.inotify.INotify() events happen outside the test in a twisted.trial based test?
- twisted integrating blocking confluent-kafka pythong library issues
- Twisted not logging all python output
- The spider (scrapy) does not restart
- Scrapy how to make async request from FSFilesStore/media pipeline?
- tkinter buttons send twisted message only once
- Failed building wheel for twisted-iocpsupport
- Python thread started but stuck because of twisted reactor in other thread (possibly)
- Started a Twisted Web Socket Client reactor from within an H2o.ai Wave app
- How to await on Future in from the different thread?
- Scrapy Spider Initialization with Twisted : Exception Not Raising and Process Freezing
Related Questions in TWISTED.WEB
- Python twisted TLS, get raw packets data
- using TWISTED python sometimes i am getting unwanted hex data
- Python Twisted rpy module called multiple times - why?
- How to tell Twisted http server to ignore index files
- Twisted web problem when serving docx files
- Post request with multiple parameters using Twisted Web Client
- Pure python reverse proxy that handles chunking
- Gunicorn python Klein
- Facing memory leak for SSL with python3.8, twisted 20.3.0, OpenSSL 1.1.1g
- How to run twisted webapps within their own threads and not using twistd
- Serve Dash plotly app with Twisted Web Server
- Twisted web server processing request multiple times
- Twisted web server session matching/diagnosing
- How can I make my Twisted 'reactor' stop?
- Python Twisted Authentication Without HTTP Authentication
Related Questions in TWISTED.CLIENT
- using TWISTED python sometimes i am getting unwanted hex data
- How can I run a simple twisted client on top of asyncio?
- set time for check connection tcp client PYTHON:TWISTED
- Twisted continues to block after connection fails
- map a request response in python twisted
- Starting and stopping Twisted connections
- twisted client call from a library function
- How to call a Twisted reactor from a file different from his?
- How do I make a GET request and then print out the response body with Python (Twisted)
- Make GET request and then print out the response body with Python (Twisted)
- how to install a python patch from twisted on windows?
- AutobahnPython w/Twisted: ssl.optionsForClientTLS on websocket.WampWebSocketClientFactory
- Error trying to get uids of emails in large folders using IMAP and Twisted
- Cannot match regex with re.search on Twisted Framework ircbot
- Store image in server using Twisted
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Unfortunately Agent doesn't make it as easy as it would be if you were working directly with a Protocol instance, but it's not impossible either.
The key lies here, in the class definition of Agent:
In order to get access to the transport you could override connectionMade on HTTP11ClientProtocol, as well as the Agent.
So you'd end up with something like:
Now use MyAgent in lieu of Agent and you'll get TCP nodelay on the client.
** Note **, this isn't the only way to do this, but one way you can do so and continue to use Agent.request. Alternately, write your own agent which crafts the request and connects it to a Client and wires up your request, along with TCP nodelay, in a deferred chain.
** Note 2 ** In this case, it's fine to assume 'transport' has the setTcpNoDelay() method because it's a pretty reasonable assumption you'll be using TCP as the transport for an HTTP request. This may not be a smart idea all over twisted, though.