// requests.wren foreign class Response { construct new() {} foreign isError foreign statusCode foreign body foreign json() } class Requests { // Foreign methods now expect a callback function. foreign static get_(url, headers, callback) foreign static post_(url, body, contentType, headers, callback) static get(url, headers, callback) { if (!(callback is Fn) || callback.arity != 2) { Fiber.abort("Callback must be a function that accepts 2 arguments: (error, response).") } get_(url, headers, callback) } static post(url, body, headers, callback) { if (!(callback is Fn) || callback.arity != 2) { Fiber.abort("Callback must be a function that accepts 2 arguments: (error, response).") } var contentType = headers != null && headers.containsKey("Content-Type") ? headers["Content-Type"] : "application/json" post_(url, body, contentType, headers, callback) } }