• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

TykTechnologies / tyk / 5318
60%
master: %

Build:
Build:
LAST BUILD BRANCH: v2.9.4.8
DEFAULT BRANCH: master
Ran 06 Aug 2018 12:42PM UTC
Jobs 2
Files 102
Run time 17s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
5318

Pull #1859

travis-ci

web-flow
Add Looping support

Looping means calling itself without additional http request. So you
can do an advanced URL rewrite, and for example redirect it to another
endpoint, by using URL of the following scheme: `tyk://self/path`.

As url you can read it as: `tyk` scheme, `self` domain, and `/path` is
a path. You can also provide `?method`  argument to specify HTTP method
name, like GET or POST.

Additionally added looping support for VirtualEndpoints. To do so you
just need to return HTTP redirect in response: 30X redirect, with
Location header containing loop HTTP scheme. Using this technique you
can turn VirtualEndpoint into advanced URL rewriter with any logic you
want. The same idea, will be implement for rest of the plugins as well.

Regarding flow itself, during looping request retains all its metadata,
query params, form values and etc.

You can chain loops, and turn Tyk into a state machine. Worth noticing
that it has protection over too deep stack, and limited by 5 loops in
the same request.

## Example

The easiest example to follow will be SOAP usage: you receive payloads
to the single endpoint, but you want to apply specific transforms,
like: different upstreams for different endpoints, or converting XML to
JSON, and forwarding to the REST endpoint, and etc.

On this general SOAP processing endpoint you define advanced URL
rewrite which, based on body content, loops user to another Tyk
endpoint, for example: if body match `action=“getPrices”`, redirect to
`tyk://self/get_prices`.

After you define internal endpoints, for example `get_prices`, and add
endpoint specific plugins there.
Pull Request #1859: Add Looping support

70 of 70 new or added lines in 5 files covered. (100.0%)

9403 of 15635 relevant lines covered (60.14%)

1.33 hits per line

Jobs
ID Job ID Ran Files Coverage
1 5318.1 (LATEST_GO=true) 06 Aug 2018 12:42PM UTC 0
59.53
Travis Job 5318.1
2 5318.2 (LATEST_GO=true) 06 Aug 2018 12:42PM UTC 0
60.15
Travis Job 5318.2
Source Files on build 5318
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #5318
  • Pull Request #1859
  • PR Base - master (#5260)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc