apigee-utils
A set of utility functions to ease javascript development on the Apigee Edge api platform
Installation
npm i -S apigee-utils
yarn add apigee-utils
How to use?
The utilities can be imported directly by using the modular build or all of them directly.
import getBody from 'apigee-utils/getBody';
import {getBody} from 'apigee-utils';
Reference
getBody
This will get the post body from the request
Returns any The body of the request
getQueryParam
This will get a queryParam from the passed url string
Parameters
-
queryParamKey
string The key for the queryParam -
defaultValue
string? The default value to return when nothing is available
Returns string? The value of the queryParam
getQueryParams
This will get a set of queryParams from the passed url string
Parameters
-
possibleQueryParams
Array<string> An array containing possible queryparams -
settings
any Object containing the settings for getting the queryparams-
settings.defaultValues
The value to return when no value is found. The keys of the default values should be identical to the queryparam keys.
-
Returns {} An object containing values for the passed in queryparams
setQueryParam
This will set a query parameter to the provided value
Parameters
-
key
string The key of the queryparam to set -
value
any The value to set the queryparam to
Returns void
setQueryParams
This will convert an object with key value pairs to query parameters
Parameters
-
queryParams
{} An object containing key value pairs to be used as query parameters
Returns void
validateValues
This will validate a set of query parameters and will set a error variable in the apigee with an errorpayload variable which can be send down to the client It is advised to set up a raise on error policy which will return the payload when the error variable == true
Parameters
-
values
{} The keys the values to get are stored with -
settings
any Object containing the settings for getting the variables-
settings.validator
The validator is an object containing functions which take a value and tests whether the value matches to required format returning true for a valid parameter and false for invalid. Or it can return a custom error message as a string. It is also possible to return mutliple error messages as an array of strings. The keys of the validator should be identical to the queryparam keys. -
settings.prefix
The prefix to use for the variables which will be used to set the potential error messages
-
Returns boolean A boolean indicating whether the query param were valid or not
createErrorObject
This will create the default error message
Parameters
-
key
string The key of the query parameter -
value
any The value of the query parameter -
message
string The custom message to use
Returns {title: string, message: string, source: string} A default error object
setVariable
This will store a value in the Apigee flow
Parameters
-
key
string The key the value should be stored in -
value
any The value to store -
settings
any Object containing the settings for setting the variable-
settings.prefix
A prefix which is used to store the value with
-
Returns void
setVariables
This will store a set of values in the Apigee flow
Parameters
-
variables
{} An object containing key value pairs to store -
settings
any Object containing the settings for setting the variables-
settings.prefix
A prefix which is used to store the value with
-
Returns void
validateBoolean
This will do a simple check if the passed string is a stringified boolean or not
Parameters
-
settings
any An object containing the options for validation-
settings.name
The name of the variable to check -
settings.value
The value of the variable to check -
settings.required
Whether it's required (allow undefined values or not)
-
Returns string A default error message or an empty string
validateEnum
This will do a simple check if the passed value is one of the valid values
Parameters
-
settings
any An object containing the options for validation-
settings.name
The name of the variable to check -
settings.value
The value of the variable to check -
settings.required
Whether it's required (allow undefined values or not) -
settings.validValues
The possible values
-
Returns string A default error message or an empty string
validateMultipleEnum
This will do a simple check if the passed string of values contains one or more valid values
Parameters
-
settings
any An object containing the options for validation-
settings.name
The name of the variable to check -
settings.values
The values of the variable to check (must be a string seperated by commas) -
settings.required
Whether it's required (allow undefined values or not) -
settings.validValues
The possible values
-
Returns string A default error message or an empty string
validateBounds
This will do a simple check if the passed string of values is a valid latitude and longitude map bounds
Parameters
-
settings
any An object containing the options for validation-
settings.name
The name of the variable to check -
settings.value
The bounds value -
settings.required
Whether it's required (allow undefined values or not)
-
Returns any A default error message or an empty array
getProxyResponse
This will get the response from the proxy
Parameters
-
settings
any Object containing the settings for getting the response from the proxy-
settings.characterEncoding
Optionally convert the response to UTF-8
-
Returns any The response from the targetted API
setResponse
This will set the response to the provided content
Parameters
-
content
any The response to set for the proxy -
settings
any Object containing the settings for setting the response-
settings.contentType
An optional contenttype header to set for the response
-
Returns void
getVariable
This will get a value from the Apigee flow
Parameters
-
key
string The key the value to get is stored with -
settings
any Object containing the settings for getting the variable-
settings.prefix
A prefix which is used to store the value with -
settings.defaultValue
The value to return when no value is found -
settings.parser
The parser is a function which takes a value and transforms it to return something else
-
Returns any The value parsed from the apigee flow
getVariables
This will get a set of values from the Apigee flow
Parameters
-
keys
Array<string> The keys the values to get are stored with -
settings
any Object containing the settings for getting the variables-
settings.prefix
A prefix which is used to store the value with -
settings.defaultValues
The value to return when no value is found. The keys of the default values should be identical to the variable keys. -
settings.parser
The parser is an object containing functions which take a value and transforms it to return something else. The keys of the parser should be identical to the variable keys.
-
Returns {} The values parsed from the apigee flow
logMessage
This will log a message to the syslog variable
Parameters
-
additionalLogvalues
{}? Object containing additional key values to be logged
Returns void