async/await Request

1. What's it?

From Proxyman macOS v3.5.0 and Windows/Linux v2.11.0 or later, you can use async / await to make an HTTP/HTTPS call for retrieving external resources inside your Script.

  • On macOS: Use `$http`

  • On Windows/Linux: Use built-in `axios`

Sample: POST Request with JSON Body (macOS)

async function onResponse(context, url, request, response) {  
  // Define JSON Body and Header
  // Make sure "Content-Type" is "application/json"
  var param = {
    body: {
      "user": {
        "name": "Proxyman"
      }
    },
    headers: {
      "Content-Type": "application/json"
    }
  }

  // POST request with await
  var output = await $http.post("https://httpbin.org/post", param);
  
  // Get Status Code
  console.log(output.statusCode);
  
  // Get body
  console.log(output.body)
  
  // Get header
  console.log(output.headers)
  
  // Done
  return response;
}

2. How to use on macOS?

Method

Output format

Sample Code

Please checkout the HTTP Snippet code for more sample code.

3. How to use on Windows/Linux?

Proxyman Windows/Linux ships with a built-in axios library, it means we can use the axios syntax to make HTTP(s) requests.

For example:

4. Notes

  • Make sure you defined the async function on onRequest() and onResponse():

  • Request Timeout is 10 seconds.

  • The inline HTTP Request doesn't go through the Proxyman Proxy, so it isn't affected by other debugging tools.

  • Use can use await $http.get() on both onRequest() and onResponse()

  • Make sure the Body type is matched with the Content-Type header.

JSON Body with application/json

Encoded form Body with application/x-www-form-urlencoded

Last updated