http Adaptor developer README.md
Source: https://github.com/OpenFn/adaptors/tree/main/packages/http
Language HTTP
Language Pack for building expressions and operations to make HTTP calls.
Documentation
Configuration
View all the required and optional properties for state.configuration
in the
official
configuration-schema
definition.
Get data
This helper function allows the use of a get method to fetch data. You can specify a query string for filter.
get(
'/myendpoint',
{
query: { foo: 'bar', a: 1 },
headers: { 'content-type': 'application/json' },
authentication: { username: 'taylor', password: 'somethingsecret' },
},
state => {
return state;
}
);
Post existing data
Send some data to an existing endpoint.
post('/endpoint', {
body: state => {
return {
field_1: 'some_data',
field_2: 'some_more_data',
field_id: dataValue('Some.Json.Object.Id')(state),
};
},
headers: {
Authorization: 'AUTH_KEY',
'Content-Type': 'application/json',
},
});
Update existing data with PUT or PATCH
put(
'/myendpoint',
{
body: { firstname: 'taylor', lastname: 'downs' },
headers: { 'content-type': 'application/json' },
authentication: { username: 'user', password: 'pass' },
},
state => {
return state;
}
);
patch(
'/myendpoint',
{
body: { firstname: 'taylor', lastname: 'downs' },
headers: { 'content-type': 'application/json' },
authentication: { username: 'user', password: 'pass' },
},
state => {
return state;
}
);
Delete data
del(
'/myendpoint',
{
query: { id: 'someId' },
headers: { 'content-type': 'application/json' },
authentication: { username: 'user', password: 'pass' },
},
state => {
return state;
}
);
Parse XML
This function allows you to parse some xml data. A callback function can be use to store in a table.
parseXML(body, function ($) {
return $('table[class=your_table]').parsetable(true, true, true);
});
Parse CSV
parseCSV('someData.csv', {
quoteChar: '"',
header: false,
});
Sample parse local CSV file
parseCSV('PatientsJan2009.csv', {
quoteChar: '"',
header: false,
columns: true,
skip_empty_lines: true,
trim: true,
bom: true,
});
Development
Clone the repo, run pnpm install
.
Run tests using pnpm run test
or pnpm run test:watch
.
To build the docs for this repo, run pnpm build:docs
.