code: def rebuild_method(self, prepared_request, response):
          
          method = prepared_request.method
  
          # http://tools.ietf.org/html/rfc7231#section-6.4.4
          if response.status_code == codes.see_other and method != 'HEAD':
              method = 'GET'
  
          # Do what the browsers do, despite standards...
          # First, turn 302s into GETs.
          if response.status_code == codes.found and method != 'HEAD':
              method = 'GET'
  
          # Second, if a POST is responded to with a 301, turn it into a GET.
          # This bizarre behaviour is explained in Issue 1704.
          if response.status_code == codes.moved and method == 'POST':
              method = 'GET'
  
          prepared_request.method = method
docs: When being redirected we may want to change the method of the request
          based on certain specs or browser behavior.