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

TykTechnologies / tyk / 5318 / 1
60%
master: %

Build:
Build:
LAST BUILD BRANCH: v2.9.4.8
DEFAULT BRANCH: master
Ran 06 Aug 2018 12:42PM UTC
Files 102
Run time 6s
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

06 Aug 2018 12:35PM UTC coverage: 59.529% (+0.1%) from 59.386%
LATEST_GO=true

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

9308 of 15636 relevant lines covered (59.53%)

0.66 hits per line

Source Files on job 5318.1 (LATEST_GO=true)
  • Tree
  • List 0
  • Changed 18
  • Source Changed 15
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 4855
  • Travis Job 5318.1
  • 7c8a7c2a on github
  • Prev Job for LATEST_GO=true on looping (#5260.1)
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

© 2026 Coveralls, Inc