Batch Requests - what url?

According to the documentation with the latest version we can enable Batch Request functionality. I’ve configured my httpbin API to support it. The documentation says:

requests are created by POSTing to the /{api-id}/tyk/batch endpoint

What end-point is this referring to? I’m POSTing the example payload to various URLs and always get a 404.

If this returns a success…
http://gateway.domain.com/httpbintest/get

I would expect this to be the tyk batch end-point:
http://gateway.domain.com/httbintest/tyk/batch

The following URLs give me a 404…

Thanks,

Rob

You need to add a slash a tthe end, this is a bug, this feature is actually extremely old, the documentation for it just went missing since we’ve updated our docs…

http://gateway.domain.com/httbintest/tyk/batch/

Hi Martin,

Thanks for the quick response and I apologize for the delay. I was running into issues that I needed to replicate in a sandbox. I got the url in question working sending batch requests.

http://gateway.domain.com/httbintest/tyk/batch/

On my local sandbox it’s working great. But in our production instance (hosted AWS ESB) the individual requests are now returning 404s.
We use custom domains. Does this feature work with custom domains? The default domain is also giving me problems.

Can you confirm: the batch aggregator is appending the relative_url to its own API uri. e.g. A request for "relative_url": "get" sends the request to http://gateway.domain.com/httbintest/get. If so, then I’m guessing the issue is that the box itself doesn’t have a dns entry for gateway.domain.com. My fear is it’s pulling the URI from something else - like the environment specific $HOSTNAME value.

Thanks again.

When I remove the custom domain from the API Definition the problem goes away.

I guess the question still remains: does the /tyk/batch/ end-point work with custom domains?

It should work with custom domains - so long as the box can resolve them from inside AWS

We have seen some problems with a application load Balancers though, are you using an ELB or ALB?

I was able to repeat this using the Dockerized example