Andrey Kuzmin @unsoundscapes
Arpad Ryszka @arpad_ryszka
<html>
<head>
<fragment src="https://base-assets...">
</head>
<body>
<fragment src="https://tracking..."
timeout="200">
<fragment src="https://header...">
<fragment src="https://cart..."
fallback-src="...">
<fragment src="https://reco..." async>
<fragment src="https://footer..." async>
</body>
</html>
<script src=".../require-2.1.22.min.js"></script>
<script>
var Pipe=function(e,n){
...
}(window.document,window.performance);
_p613 = new Pipe(require);
</script>
<link rel="stylesheet" href=".../client.css">
<script data-pipe>
_p613.start(2, "https://.../client.js")
</script>
...
<script data-pipe>
_p613.end(2, "https://.../client.js", "cart")
</script>
<script data-pipe>_p613.placeholder(4)</script>
...
...
<script>_p613.loadCSS(".../client.css")</script>
<script data-pipe>
_p613.start(4, "https://.../client.js")
</script>
...
<script data-pipe>
_p613.end(4, "https://.../client.js", "footer")
</script>
30% of /acme-shoes -> https://tailor.zalan.do
* -> https://jimmy.zalan.do
30% of /acme-shoes
-> customer-cookie
-> https://tailor.zalan.do
*
-> customer-cookie
-> https://jimmy.zalan.do
30% of /acme-shoes
-> customer-cookie
-> zalando-stuff
-> template-path
-> https://tailor.zalan.do
POST /search
-> zalando-stuff
-> https://search.zalan.do
*
-> customer-cookie
-> https://jimmy.zalan.do
30% of /acme-shoes
-> customer-cookie
-> zalando-stuff
-> template-path
-> https://tailor.zalan.do
POST /search
-> zalando-stuff
-> https://search.zalan.do
*
-> customer-cookie
-> https://jimmy.zalan.do
mosaicCatalog: Path("/acme-shoes") && Traffic(0.33)
-> customerCookie()
-> xalando()
-> modPath(".*", "/catalog")
-> "https://tailor.zalan.do";
mosaicApi: Path("/search") && Method("POST")
-> xalando()
-> "https://search.zalan.do";
// everything else goes this way
jimmyCatchall: *
-> customerCookie()
-> "https://jimmy.zalan.do";