-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New transport AIOHTTPWebsocketsTransport #478
New transport AIOHTTPWebsocketsTransport #478
Conversation
Thanks for your PR. |
Signed-off-by: Micah Pegman <[email protected]>
Signed-off-by: Micah Pegman <[email protected]>
Signed-off-by: Micah Pegman <[email protected]>
0452346
to
e4dbce8
Compare
Signed-off-by: Micah Pegman <[email protected]>
Signed-off-by: Micah Pegman <[email protected]>
Hi @tlowery-scwx. Thanks for your work so far. I took the liberty to take over your branch to try to fix the remaining problems, you can check the commits above. I had to copy yet again some code from the previous The One of the main problem was that the aiohttp session was not closed properly. For that it is a bit tricky because of still remaining aiohttp issues which should be fixed in aiohttp 4.0 I suppose. Fortunately we are already doing that for our aiohttp transport so I copied the code from there. During the testing, it appeared that the aiohttp session was still not closed properly for some tests, and it revealed that the problem was already present for the previous websockets transport for some conditions. I fixed that in the PRs #486 and #488, which have been merged in this branch and made the required changes in this branch. Regarding the edge case with the If you don't mind I'll continue to work on this branch for a few days before asking for your review so please don't add new commits for the time being. |
…s None" This reverts commit 64d6ffd.
Adding connect_args parameter to be able to provide any argument to the ws_connect method Removing the following parameters (they can now be provided in the connect_args dict): - autoclose - autoping - compress - max_msg_size - verify_ssl - method Renaming protocols to subprotocols to be more similar to the websockets transport
@tlowery-scwx It should be ok now. What do you think? |
@leszekhanusz, thank you so much for taking this on, putting so much work into it, and getting it over the finish line! May we have a day to test this transport with our use case and get back to you by EOD tomorrow (USA Pacific time) before you merge and close this out? |
Hi @leszekhanusz -- sorry for taking a bit longer than planned, but we've done quite a bit of testing, and everything looks great from our end. Thank you again for all of your work and help getting this done! |
This represents ongoing work addressing issues #418 and #451, adding AIOHTTP Websockets support with a new AIOHTTPWebsocketsTransport. We already have a working base model, and are working on full parity and test coverage, and wanted to make this work available for review or comment.
This transport allows to run queries including subscriptions on websockets endpoints without using the
websockets
dependency (only theaiohttp
dependency).Note: a lot of code had to be duplicated from the
WebsocketsTransport
class. A refactor will be done to reduce the duplicated code in a subsequent PR.