#580 Use timeouts when making HTTP requests
Closed 3 years ago by mprahl. Opened 3 years ago by mprahl.

file modified
+5 -3
@@ -83,7 +83,8 @@ 

          return results

  

      def _make_request(self, params, **request_args):

-         return requests_session.get(

+         return requests_session.request(

+             'GET',

              self.url + '/results/latest',

              params=params,

              **request_args)
@@ -102,7 +103,8 @@ 

          return [waiver for waiver in waivers if waiver['waived']]

  

      def _make_request(self, params, **request_args):

-         return requests_session.post(

+         return requests_session.request(

+             'POST',

              self.url + '/waivers/+filtered',

              json={'filters': params},

              **request_args)
@@ -181,6 +183,6 @@ 

  

  # NOTE - not cached.

  def retrieve_decision(greenwave_url, data):

-     response = requests_session.post(greenwave_url, json=data)

+     response = requests_session.request('POST', greenwave_url, json=data)

      response.raise_for_status()

      return response.json()

When using the RequestsSession.request method, a timeout keyword
argument is always added to the request. When using the get or
post method directly, it bypasses this default timeout.

The requests library will wait forever if no timeout is set, so
this can cause outages.

Ah, nevermind. I just remembered that .post calls .request. I'll close this.

Pull-Request has been closed by mprahl

3 years ago
Metadata