Skip to content
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

Add timeout to requests calls #24032

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

pixeeai
Copy link

@pixeeai pixeeai commented Sep 30, 2024

Many developers will be surprised to learn that requests library calls do not include timeouts by default. This means that an attempted request could hang indefinitely if no connection is established or if no data is received from the server.

The requests documentation suggests that most calls should explicitly include a timeout parameter. This codemod adds a default timeout value in order to set an upper bound on connection times and ensure that requests connect or fail in a timely manner. This value also ensures the connection will timeout if the server does not respond with data within a reasonable amount of time.

While timeout values will be application dependent, we believe that this codemod adds a reasonable default that serves as an appropriate ceiling for most situations.

Our changes look like the following:

 import requests
 
- requests.get("http://example.com")
+ requests.get("http://example.com", timeout=60)
More reading

Powered by: pixeebot (codemod ID: pixee:python/add-requests-timeouts)
I have additional improvements ready for this repo! If you want to see them, install our plugin (Github Marketplace download) & leave the comment:

@pixeebot next

... and I will open a new PR right away!

🧚🤖 Powered by Pixeebot

Copy link

google-cla bot commented Sep 30, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Copy link
Collaborator

@ayaka14732 ayaka14732 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! The PR looks good to me, but you need to sign the CLA first.

@skye
Copy link
Collaborator

skye commented Oct 1, 2024

Are you able to sign the CLA?

@pixeeai
Copy link
Author

pixeeai commented Oct 1, 2024

Are you able to sign the CLA?

Yes, I believe I got the issue resolved.

@skye
Copy link
Collaborator

skye commented Oct 1, 2024

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants