-
Notifications
You must be signed in to change notification settings - Fork 186
Vonage Vetch
Documentation / Vonage Vetch
This is the Vonage Vetch
er SDK for Node.js used to wrap a request using node-fetch
to call Vonage APIs. To use it you will need a Vonage account. Sign up for free at vonage.com.
For full API documentation refer to developer.vonage.com.
npm install @vonage/vetch
yarn add @vonage/vetch
Vetch will return a VetchResponse
const { request } = require('@vonage/vetch');
const response = await request({
url: 'https://rest.nexmo.com/account/numbers'
})
console.log(response.data);
// Will output the json data from the API response
options
are a superset from the request package. See VetchOptions
for more detail
Run:
npm run test
Defined in: packages/vetch/lib/enums/contentType.ts:9
Enum representing possible MIME types for the 'content-type' HTTP header that Vonage API's could accept.
Note: Most of the APIs will only accept application/json
. Please refer
to the specific API documentation to determine if another content type is
accepted
Enumeration Member | Value | Description | Defined in |
---|---|---|---|
CSV
|
"text/csv" |
Represents the MIME type for CSV data. | packages/vetch/lib/enums/contentType.ts:20 |
FORM_URLENCODED
|
"application/x-www-form-urlencoded" |
Represents the MIME type for URL-encoded form data. | packages/vetch/lib/enums/contentType.ts:14 |
JSON
|
"application/json" |
Represents the MIME type for JSON data. | packages/vetch/lib/enums/contentType.ts:11 |
XML
|
"application/xml" |
Represents the MIME type for XML data. | packages/vetch/lib/enums/contentType.ts:17 |
Defined in: packages/vetch/lib/enums/HTTPMethods.ts:4
Enum representing the HTTP methods that can be used for Vonage API requests.
Enumeration Member | Value | Description | Defined in |
---|---|---|---|
DELETE
|
"DELETE" |
Represents an HTTP DELETE request. | packages/vetch/lib/enums/HTTPMethods.ts:12 |
GET
|
"GET" |
Represents an HTTP GET request. | packages/vetch/lib/enums/HTTPMethods.ts:6 |
PATCH
|
"PATCH" |
Represents an HTTP PATCH request. | packages/vetch/lib/enums/HTTPMethods.ts:18 |
POST
|
"POST" |
Represents an HTTP POST request. | packages/vetch/lib/enums/HTTPMethods.ts:9 |
PUT
|
"PUT" |
Represents an HTTP PUT request. | packages/vetch/lib/enums/HTTPMethods.ts:15 |
Defined in: packages/vetch/lib/enums/responseTypes.ts:7
Enum representing the expected response types for API requests. This was originaly used to set what the expected response type will be. It is better to use the content-type header from the response to decode properly.
Enumeration Member | Value | Description | Defined in |
---|---|---|---|
json
|
"json" |
Represents a JSON-formatted response. | packages/vetch/lib/enums/responseTypes.ts:11 |
stream
|
"stream" |
Represents a stream response, typically for handling large data or files. | packages/vetch/lib/enums/responseTypes.ts:16 |
text
|
"text" |
Represents a plain text response. | packages/vetch/lib/enums/responseTypes.ts:21 |
Defined in: packages/vetch/lib/errors/vetchError.ts:15
Class representing an error from a Vetch API request. Extends the built-in Error class and adds additional properties related to the API request and response.
The type of the data payload in the VetchResponse, expected to be an object that has been decoded from JSON or WebForm.
Error
new VetchError(
message,
options,
response?): VetchError;
Defined in: packages/vetch/lib/errors/vetchError.ts:27
Creates an instance of VetchError.
string
The error message.
Configuration options for the API request.
Response
Configuration options for the API request.
Error.constructor
optional cause: unknown;
Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24
Error.cause
optional code: string;
Defined in: packages/vetch/lib/errors/vetchError.ts:16
An optional error code.
config: VetchOptions;
Defined in: packages/vetch/lib/errors/vetchError.ts:17
Configuration options for the API request.
message: string;
Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077
Error.message
name: string;
Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Error.name
optional response: Response;
Defined in: packages/vetch/lib/errors/vetchError.ts:18
The API response that resulted in the error.
optional stack: string;
Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078
Error.stack
static stackTraceLimit: number;
Defined in: node_modules/@types/node/globals.d.ts:161
The Error.stackTraceLimit
property specifies the number of stack frames
collected by a stack trace (whether generated by new Error().stack
or
Error.captureStackTrace(obj)
).
The default value is 10
but may be set to any valid JavaScript number. Changes
will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Error.stackTraceLimit
static captureStackTrace(targetObject, constructorOpt?): void;
Defined in: node_modules/@types/node/globals.d.ts:145
Creates a .stack
property on targetObject
, which when accessed returns
a string representing the location in the code at which
Error.captureStackTrace()
was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`
The first line of the trace will be prefixed with
${myObject.name}: ${myObject.message}
.
The optional constructorOpt
argument accepts a function. If given, all frames
above constructorOpt
, including constructorOpt
, will be omitted from the
generated stack trace.
The constructorOpt
argument is useful for hiding implementation
details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();
object
Function
void
Error.captureStackTrace
static prepareStackTrace(err, stackTraces): any;
Defined in: node_modules/@types/node/globals.d.ts:149
Error
CallSite
[]
any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Error.prepareStackTrace
type Headers = object;
Defined in: packages/vetch/lib/types/headers.ts:7
Interface representing HTTP headers as a string-keyed object. Each property represents a header name, and the associated value can be a string or an array of strings. Includes optional 'authorization' and 'content-type' properties with restricted possible values for 'content-type'.
[index: string]: string
type VetchOptions = object;
Defined in: packages/vetch/lib/types/vetchOptions.ts:7
Options to configure the Vetch request.
optional appendUserAgent: string;
Defined in: packages/vetch/lib/types/vetchOptions.ts:50
Additional user agent string to append.
optional body: Record<string, string | readonly string[]> | string;
Defined in: packages/vetch/lib/types/vetchOptions.ts:29
Use 'data' instead of 'body'
optional checkStatus: (status) => boolean;
Defined in: packages/vetch/lib/types/vetchOptions.ts:45
A function to check the response status.
number
boolean
optional data: Record<string, string | readonly string[]> | string;
Defined in: packages/vetch/lib/types/vetchOptions.ts:26
Request body data. Use 'data' instead of 'body' for newer implementations.
optional headers: Headers;
Defined in: packages/vetch/lib/types/vetchOptions.ts:55
The headers to be sent with the request.
method: HTTPMethods;
Defined in: packages/vetch/lib/types/vetchOptions.ts:16
The HTTP method to use for the request, e.g., GET, POST, etc.
optional params: Record<string, string | readonly string[]>;
Defined in: packages/vetch/lib/types/vetchOptions.ts:34
Query parameters for the request.
optional responseType: ResponseTypes;
Defined in: packages/vetch/lib/types/vetchOptions.ts:40
Expected response type.
ResponseTypes
is deprecated and will be removed in future versions.
optional timeout: number;
Defined in: packages/vetch/lib/types/vetchOptions.ts:60
Time in milliseconds to wait for the request to complete.
type: ContentType;
Defined in: packages/vetch/lib/types/vetchOptions.ts:11
The content type for the request, e.g., JSON, WebForm, etc.
url: string;
Defined in: packages/vetch/lib/types/vetchOptions.ts:21
The URL endpoint for the request.
type VetchPromise<T> = Promise<VetchResponse<T>>;
Defined in: packages/vetch/lib/types/vetchPromise.ts:12
Type representing a promise that resolves with a standardized Vetch API response. Vetch ("Vonage Fetch") ensures a consistent API response structure, irrespective of the HTTP adapter utilized by the developer.
T
The type of the data payload in the VetchResponse, expected to be an object that has been decoded from JSON or WebForm.
type VetchResponse<T> = object;
Defined in: packages/vetch/lib/types/vetchResponse.ts:9
Represents the response returned by a Vetch request.
T
The type of the response data.
config: VetchOptions;
Defined in: packages/vetch/lib/types/vetchResponse.ts:13
The configuration options used for the request.
data: T;
Defined in: packages/vetch/lib/types/vetchResponse.ts:18
The parsed response data.
headers: Headers;
Defined in: packages/vetch/lib/types/vetchResponse.ts:23
The response headers.
request: VetchOptions;
Defined in: packages/vetch/lib/types/vetchResponse.ts:38
The configuration options for the request (same as 'config').
status: number;
Defined in: packages/vetch/lib/types/vetchResponse.ts:28
The HTTP status code of the response.
statusText: string;
Defined in: packages/vetch/lib/types/vetchResponse.ts:33
The HTTP status text of the response.