Skip to content

Latest commit

 

History

History
151 lines (101 loc) · 6.08 KB

policies-flex-dataweave-support.adoc

File metadata and controls

151 lines (101 loc) · 6.08 KB

DataWeave Support in Flex Gateway Policies

DataWeave is the programming language designed by MuleSoft for data transformation. It enables you to build a simple solution for a common integration developer use case: read and parse data from one format, transform the data, and write it out as a different format.

Flex Gateway supports a subset of DataWeave in policy configuration expressions. DataWeave is only supported in included policies and custom policies created with PDK..

Available Types

  • Null

  • Boolean

  • String

  • Number (Driven as 64 bits floating points)

  • Array

  • Object (Repeated keys are not available)

Available Value Constructors for Types

  • Boolean

  • String

  • Number

  • Array

Unavailable Value Constructors for Types

  • Null (Writing a null literal is not supported)

  • Object (Objects can not be defined as literals)

Available Flow Control Structures

  • if else

Unavailable Flow Control Structures

  • do

Available Selectors

  • Array[Number]

  • Array[String]

  • Object[String]

  • String[Number]

Unavailable Selectors

  • Object[Number]

Available Equality and Relational Operators

  • ==

  • !=

  • >=

  • <=

Available Logical Operators

  • not

  • and

  • or

Available Functions

++

  • ++(Array<S>, Array<T>): Array<S | T>

  • ++(String, String): String

contains

  • contains(Array<T>, Any): Boolean

  • contains(String, String): Boolean

lower

  • lower(String): String

  • lower(Null): Null

splitBy

  • splitBy(String, String): Array<String>

sizeOf

  • sizeOf(Array<Any>): Number

  • sizeOf(Object): Number

  • sizeOf(String): Number

trim

  • trim(String): String

  • trim(Null): Null

upper

  • upper(String): String

  • upper(Null): Null

uuid

  • uuid(): String

dw::core::Strings::substringAfter

  • substringAfter(String, String): String

  • substringAfter(Null, String): Null

dw::core::Strings::substringAfterLast

  • substringAfterLast(String, String): String

  • substringAfterLast(Null, String): Null

dw::core::Strings::substringBefore

  • substringBefore(String, String): String

  • substringBefore(Null, String): Null

dw::core::Strings::substringBeforeLast

  • substringBeforeLast(text: String, separator: String): String

  • substringBeforeLast(text: Null, separator: String): Null

Available Predefined Variables

  • attributes

    • attributes.headers

    • attributes.method (Only available in request context)

    • attributes.queryParams (Only available in request context)

    • attributes.queryString (Only available in request context)

    • attributes.requestPath (Only available in request context)

    • attributes.requestUri (Only available in request context)

    • attributes.localAddress (Only available in request context)

    • attributes.remoteAddress (Only available in request context)

    • attributes.scheme (Only available in request context)

    • attributes.version (Only available in request context)

    • attributes.statusCode (Only available in response context)

  • authentication

    • authentication.clientId

    • authentication.clientName

    • authentication.principal

    • authentication.properties

  • payload

    • payload

  • vars

    • vars.claimSet.* (Only available for JWT Policy configuration)