code: def get_http_info_with_retriever(self, request, retriever):
          
          urlparts = urlparse.urlsplit(request.url)
  
          try:
              data = retriever(request)
          except Exception:
              data = {}
  
          return {
              'url': '{0}://{1}{2}'.format(
                  urlparts.scheme, urlparts.netloc, urlparts.path),
              'query_string': urlparts.query,
              'method': request.method,
              'data': data,
              'cookies': request.cookies,
              'headers': request.headers,
              'env': {
                  'REMOTE_ADDR': request.remote_addr,
              }
          }
docs: Exact method for getting http_info but with form data work around.