**Overview**

In AWS it is possible to trigger step functions through an API Gateway integration, see https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-api-gateway.html

Similar integrations already occur within localstack, however the step function URIs are notably missing. See lines 66-88 of https://github.com/localstack/localstack/blob/master/localstack/services/apigateway/apigateway_listener.py



┆Issue is synchronized with this [Jira Bug](https://localstack.atlassian.net/browse/LOC-107) by [Unito](https://www.unito.io/learn-more)

def trim(self, *args, **kwargs):
            return ExtendedString(self.strip(*args, **kwargs))
        def toLowerCase(self, *args, **kwargs):
            return ExtendedString(self.lower(*args, **kwargs))
        def toUpperCase(self, *args, **kwargs):
            return ExtendedString(self.upper(*args, **kwargs))
    def apply(obj, **kwargs):
        if isinstance(obj, dict):
            for k, v in obj.items():
                if isinstance(v, str):
                    obj[k] = ExtendedString(v)
        return obj
    
    variables = variables or {}
    recurse_object(variables, apply)
    
    t = airspeed.Template(template)
    var_map = {
        'input': VelocityInput(context),
        'util': VelocityUtil()
    }
    var_map.update(variables or {})
    replaced = t.merge(var_map)
    
    replaced = replaced.replace(empty_placeholder, '')
    if as_json:
        replaced = json.loads(replaced)
    return replaced