code: def request_with_retries_on_post_search(self, session, url, query, json_input, stream, headers):
          
          # TODO: Revert this PR as soon as the appropriate swagger definitions have percolated up
          # to prod and merged; see https://github.com/HumanCellAtlas/data-store/pull/1961
          status_code = 500
          if '/v1/search' in url:
              retry_count = 10
          else:
              retry_count = 1
          while status_code in (500, 502, 503, 504) and retry_count > 0:
              try:
                  retry_count -= 1
                  res = session.request(self.http_method,
                                        url,
                                        params=query,
                                        json=json_input,
                                        stream=stream,
                                        headers=headers,
                                        timeout=self.client.timeout_policy)
                  status_code = res.status_code
              except SwaggerAPIException:
                  if retry_count > 0:
                      pass
                  else:
                      raise
          return res
docs: Submit a request and retry POST search requests specifically.
  
          We don't currently retry on POST requests, and this is intended as a temporary fix until
          the swagger is updated and changes applied to prod.  In the meantime, this function will add
          retries specifically for POST search (and any other POST requests will not be retried).