docs: def async_fetch(request, method, default_headers=None,
                  callback=None, httpclient=None, **kwargs):
      """
      fetch resource using the asynchronous AsyncHTTPClient
      :param request: HTTPRequest object or a url
      :param method: HTTP method in string format, e.g. GET, POST
      :param callback: callback function on the result. it is used
      by the coroutine decorator.
      :param kwargs: query string entities or POST data
      """
      updated_request = make_request(request, method, default_headers, **kwargs)
      if not httpclient:
          httpclient = AsyncHTTPClient()
      rsp = yield httpclient.fetch(updated_request)
      raise Return(parse_response(rsp))