FLAT
CouperSevenval TechnologiesDocker ImageGithub
master
master
  • Changelog
  • FLAT
  • Administration
    • Configuration
    • Docker
    • Logging
  • Cookbook
    • Using the Built-in Mocking
    • Performing Additional Checks on JWT Access Tokens
    • Logging Custom Fields
    • Using Environment Variables
    • Handling Errors with an Error Flow
    • File Serving
    • Forwarding a Request to an Upstream API
    • Extracting Common Initialization Flow Tasks
    • Encoding and Decoding JWT
    • Passing Header Fields to the Client
    • How can I pass an arbitrary header field to an upstream system?
    • Performing Additional Checks on JWT Access Tokens
    • Proxying requests to Upstream APIs
    • Increasing the Request Timeout
    • How can I see what the client requested?
    • Using Swagger UI for API Documentation
    • Testing API Requests
    • Testing with Backend Requests
    • Testing Templates
    • Sending POST Requests
    • Processing Upstream Responses
    • Protecting Access using JWT Tokens
  • Reference
    • Configuration
    • Debugging
    • flat CLI
    • Flow
    • Variables
    • OpenAPI / Swagger Integration
    • OpenAPI
      • CORS - Cross-Origin Resource Sharing
    • OpenAPI
      • Differences from Swagger
    • OpenAPI
      • Mocking
    • OpenAPI
      • Routing
    • OpenAPI
      • Security
    • OpenAPI
      • Upstream APIs
    • OpenAPI
      • Validation
    • Flow Actions
      • assert Action
      • auth Action
      • backend-flow Action
      • copy Action
      • debug Action
      • dump Action
      • echo Action
      • error Action
      • eval Action
      • log Action
      • nameshave Action
      • pass-body Action
      • proxy-request Action
      • regex Action
      • request Action
      • requests Action
      • serve Action
      • set-config Action
      • set-env Action
      • set-response-headers Action
      • set-status Action
      • sub-flow Action
      • template Action
      • test-request Action
      • xslt Action
    • Functions
      • apply-codecs()
      • array-reverse()
      • array()
      • base64-decode()
      • base64-encode()
      • body()
      • calc-signature()
      • capitalize-first()
      • content()
      • decrypt-xml()
      • decrypt()
      • encrypt()
      • ends-with()
      • file-exists()
      • fit-document()
      • fit-log()
      • fit-serialize()
      • get-log()
      • has-class()
      • html-parse()
      • join()
      • json-doc()
      • json-parse()
      • json-stringify()
      • json-to-csv()
      • json-to-xml()
      • jwt-decode()
      • jwt-encode()
      • ldap-lookup()
      • ldap-query()
      • lookup()
      • matches()
      • md5()
      • replace()
      • sort()
      • split()
      • tolower()
      • toupper()
      • trim()
      • unixtime()
      • urldecode(), url-decode()
      • urlencode(), url-encode()
      • uuid3() and uuid4()
      • verify-signature()
      • verify-xmldsig()
      • xml-parse()
      • xml-to-json()
    • Templating
      • {{,}}
      • Comment {{// …}}
      • Dot {{.}}
      • Conditional `{{if <condition>}} … {{elseif <condition> }} … {{else}} … {{end}}
      • loop
      • ?? Operator
      • Object XML Notation (OXN)
      • Pair Producer {{: …}}
      • Placeholder
      • Template Variables
      • with
    • Testing
  • Tutorial
Powered by GitBook
On this page
  • Test Actions
  • debug Attribute

Was this helpful?

  1. Reference

Flow Actions

PreviousValidationNextassert Action

Last updated 4 years ago

Was this helpful?

Test Actions

debug Attribute

In FLAT, every flow action can have a debug attribute. Its value is a comma-separated list of log topics:

debug="topic1, topic2"

Usually actions can be debugged by type, for example to debug all request or template actions. Debug topics allow you to selectively filter debug output of one or more specific actions.

<flow>
  <template>{"v": 0}</template>
  <template debug="overrides">{"v": 1}</template>
  <template debug="overrides, special-topic">{"v": 2}</template>
</flow>
  • The debug topic template yields output of all three template actions.

  • The debug topic overrides yields output of the two latter actions.

  • The debug topic special-topic yields output of only the last action.

Specifying debug on a sub-flow action, automatically applies the debug topic to all actions in that sub-flow.

<flow>
  <template>{"v": 1}</template>
  <sub-flow src="sub.xml" debug="foo"/>
</flow>

sub.xml:

<flow>
  <template>{"v": 2}</template>
  <template debug="bar">{"v": 3}</template>
</flow>
  • The debug topic foo yields output of all actions in sub.xml.

  • The debug topic bar yields output only of the last template in sub.xml.

<debug level="info" debug="foo" xpath="$foo"/>

This will log the content of the variable $foo if the topic foo has been selected.

There are some special purpose actions for :

See for more information.

📎 Note that there is also a . It can be used to create your own debug messages. Of course, it can also be filtered with debug topics.

auth
copy
debug
dump
echo
error
eval
log
nameshave
pass-body
proxy-request
regex
request
requests
serve
set-config
set-response-headers
set-status
sub-flow
template
xslt
testing
assert
backend-flow
set-env
test-request
debug action
Selective Action Debugging