From 2410d8ae88cd2dbf1892046e54d5671e73252671 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Wed, 23 Aug 2017 15:33:03 -0600 Subject: [PATCH] Adds a diagram and short how it works. --- .../main/asciidoc/images/gateway_diagram.png | Bin 0 -> 19583 bytes .../src/main/asciidoc/spring-cloud-gateway.adoc | 15 +++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 docs/src/main/asciidoc/images/gateway_diagram.png diff --git a/docs/src/main/asciidoc/images/gateway_diagram.png b/docs/src/main/asciidoc/images/gateway_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..432192a00fc57aa7b0e4446deda4ccb241315dc4 GIT binary patch literal 19583 zcmeIac{r5q-#>oYB8fyOTdT;H$`S_YmWn83H$=$3Z)2Ml+$Gdqj9s!N`!=>2ri5x@ zL=48Ru``xo?0(nSx0KF{~|dcV)*`CTpb!^|g`0RT9B z>*ilN06>QU0NNI&1K=BTpW~$fpn2ogU)S_}yQg~19~~P{QC^N;u?c#(d_ah$@~aw; z`|EI1rZ?fH&pw62%?m#r;9Y-mI0*dZSa|KzX5QhYAxhYj!>iXn9q`8=;N^5I{AA-) z_$jn7fq|PA{O5j3L&EfH)VJo)xF4FGDbY^{)kBfzz+b5h)PnGqC)9!}k3Q`b95AG%7IYP(p%&b(_TLpeS-M^Di1Bv8 z-S$%%sO`gBXsPY1JfhhlWV_(lKP{~(h@X0)Q_cLxwbq=zPTCjTbhH&(yL zHSaDY8R){pl2z>)+$hK*@!PtnxF0$~w6v~`$Q+%C5eUaOO?~oCJ_-j(qmjc(Wa0CE z6ZM%j&M&x&NJ_SPu=Sl>&rkRAN*FtpqP=D-BWc?fq>zFb9iI!!II>75DJuCg?t^ac03pwb?3|FPNH-uUvMborT7-Z};V!7Um-! zQlj5b9Fh8yVxOGwLk0#(JjQ_IC%?4n=*rS7n08z>9(TjZQJ(Buv{S0DL6npF?bn=Ucr6o1ubFpe&*! z$?4HI(gZ$bZuBp&wL1VP>#)-R_owQ;saz7+_ctxR+x z3#)(S6Aqc;6#*KCf0|Uk{XR(UHeAw2`rVu>BYRXDtayuvvAq=tPE>V}GiF}8o^cW; z3kmvoG!v(T#BjG>^0`e=ie75R=5{@W(hszkCehiM2pAv(uWS^( zdp#Xs<3hs&0AulhDcMpBuPFOkpddypq*J|Xq_2BIUR^Ymq;uzM&Lku-M%7b_zUstZ zXD)I$I`{OF4oJ#nv9-C6n9Pe%1=mfb`!`gBWA$vuBD zf5IAh9GED|y?We${+C0vtM7;UrHFLv{C4`5_jteDqnYI=xS-^ZOSScYVw|*XPyP&I z=(18S{lLVRhk??hQve+RKm_49o5kz!@VkD+dR!MKBOTyrjf>VId~rzYo`VmJXE0pY zMbb$?u&W^`E}MQ}oU0KIuz*$obFTi?K$nx43F|%f323^jpF&8{H}Z0Z6a7FOr=dFG z?P)nK{CI;`VbpB`ObVhDtNO6A5$QW)#7toy2`la>KNYW?a$fOUJpO38M`n{C+xO%Q zWdRoFGk`YYvv1DEB{AxVrX)%^2gjDVuuU-?fntOn2je9RUYd&7mmgy_>OWaqT(5I<9BFBlsy8Hr%HICRiAw`!wlr;W$ULfSHbJ_C-aWWAW$d(4^a zIt7`OIPJ+`!xFX^UJ$~kph;{zx~qQF|5aa>@06z9$~65zQEN@aG%8WrzaJZXvGW!n zL7L>zlgr*X;cyWz=$A$mhwx+1^TmM`=V3DZswbCSP5p1#SP zEZOScFgYOWhs9pYZ0VU`dpOI z>Wd|ul+#N04`y-O$5b14ZI(pO24Bp}$uF;36`;!&ur&_w-ky%8flg8$Zvl;2Xmv3FpIe$( zt$EQ2jnh;>Qq>jw1G|-g*lNlL|9Y3Of$O@#Hd{Mt-7`b|+axa&Sl{|h4DAJ-l}h;q zocp?V+_ysT)7bnGP!|Cz|3Hld|2s)lnr#LBZ(shOzx*%7TfTAW44dEMRJ+&bZR8ry z04#Ap%m@5|8WRBCaBx}Re|UhCxOU3?FAwkBXlod~X_lR7fD`AzrvKxiw^QzF5~30% zHe!8B(qQ4z>;V$w4Pww|Hg0v^J+n9u(K<||B>OUwHY~yy8%EL5ND<_;UpI1-AJzB} zdVs&`#P~op12F4+;(XS8@ms{O-*GH9mGh!t%_o0znEEvd)v<6C9~S!v%9@2)`7mFZ z)&I#~5@|$w)E&mwc4=mO7I`2*_`o_8Z0y>aQ-l`J` zVAcQJ|HydcE=)|-BKX4GRt;Cd;p-v++F7HS#*Vi1-^)-h^#r0?YT^-dTr|FC^R`@( zm9pL_a(r&Rzjg+m)tMcBW?3oQFF?+TU`SjLXu>{6@qIuUq>+P+>}vT70%o2@Z^%V= znB>62mcFqe92l9=YFqPaA_J9#?W#Vml>eF)lv+&9qeODXY+3x1 zHce*rr_n$_9(kcmhX?)kNxKRWjip)k9Y>$mOTMX$i>9@x=oJDQz0LZr0g=f+45C#G z=y7?pv#Fd1!f{t(I_`7B)iqMe*E>D4IaAkeAb)b0$mt$TB`)^dBACQ#20!GvSs)5a zjLMjn=K60NpIA4Dxb-~H#wx!fqYewyrT7D@H;~HrrFncG$LFC9{u!} zy9l8C(U0_#YtU6F1oN0|>gPL~DnqkuckY?XF?duK?yh%5=_V+opP?6Sx!n$k+6$ zMDoL?gy*%xBy9|x5lv7>C zZIR>@$&F7IS3<^@SFE%1wKAOiW1q~_e|KZQw(j>ayexiLWtW1FZbu)Fs}hTbU@g}( zF6y)Tx)IX5WLYrv{(_PapQ1ZJ^4AGl-$-b$K}L&#*yT7?Ge2QUNUL}Mhi5%+GANO_ zs=Eg(HH;>26`qFIemMAQL&SnBrCk2ysw&d2)6LJkDLv3+Gwm<(5-Z{}`Dv^7jo6_0 zzJepTq-^@W8+Ra$HNNSuS*gaLw@>csKTo=za>hucACZ0|O)981WX?IS%cDrBAbJmewfn9uG*cG6 zSN-HSOl!1OZ(V4!Gq1ggeM?FR5N+SO7vYKVIRuP_G<^H3Be8P=%4|#Q3g_0niF%W) zYzT9%5>h-yp%M52tvx^c&2iz2o~~WoGADy@BUob)FPWIGb(Zg=u&L@D1UNXH|~4Mz-_d+VoPux1hkGl>T- zkbI;ZST|<0v2VjZvLPlG-B&faOKc?FW2DcoPb@%yfN}tcc(X*o1akb$F{%k{$(veq zaPcd5wk9N){-6Ljb$&Xq!w(#;xjEZae;xcURaJ)nNUX>e3pb1ER|b1f z8Gh!R^M(mk4tkNk0^tR}s|ko2SwkPx(oIDBx0_I|h52_)mq6A!knDJEbww0EtWQzc zw#g_u1k2Zo9I=*0fyQB}Xons}%f(oaP3<@(h~GE{Vimbesd&=vxFtq-C*zSWg(S~PTKO(~b4)w$mp)&0T387?Q6MUS#m?#7xPXiJrKtZ5H^>#mcK`F5UN@4%FD_S1 zIT5OxRl!67<%I{E|{j1QbDY;@x^YiY!)YzLe@4zj(mcGn4szE4jwdr5pc)HEvP9HCK;k>mD38)Eu zDO2@zqmpv3QxK(?G7?Qt{O9=Zh|l*ND3nJPv7|`3jrNd zi~P49qhCv(&yar=RAaW{c-@XLQ@XNVKN_!1QOy^U?70>U9Z8Sxv{|EO*} zS`}M}Zs|**owPUBHitQiK)G*(1+EOA?&~mi&brdM}$E#t=l*fXG6HgmxVB#yidd(2E9GSDqQ4 z3m+fl7$4P*CbBx70dSe`6n+hr$zE8Lp4=7CR9?E-UakkuRrOT|bS+Q_CxHo5Znz{u zb^cL?=}jEJWJu{~20lN1Is*Fr{CLseZQ&pGPe_kjN0YJ-R;!CXfaN?GR0I0#*j(FP znae!vx_;gUlsbn3!{tR`WnuOm8>l;gfbewq&-h}!Zju^MvnRW$x|8WlGG5mM*)lPP zZ@X>-Ga57`Bjn17Rw5Wq>JL_#zDUMdKJuWi2Vqt==emBIH|M7%73(#tCk2QMulx>2 z4f;l&Zj&CIk7M{nv%~Kd&V|Oi$|l{#BWP+F00rDa%-eg9*MB1 zw}?|Zx$sDdjKbpuNk1mSRJc>D#iyg*`@nwl(+^ZYeNH(Mo{|}#Rn+(umInKrfD2}% zta%@Yr<7(t&Hg?rH@-LBZ@^KfaeE(uhtHBrZ7NF$OqkJ+ZV! zw}13!yvn(E%~_-0KS>H%8EZ{mHG!cN*Hq(X`H7r8R`-UxWQ3)O_{u<0#)R3V{A zu3utI_`B-6V0fGS%bT(p*aj&6(@`70g#X4lW1zA2$UTgv0ySMSKBth~7XxZqosq}Q zC3LHUc?L0*-eO1FWIJw=1#aL*(>Q}(9O3*lr*}t~Pb<| zqhb7aYNPh;$=GjDQiK?C`c?k2@X;+EQCM$u}PdOKtd{1qGz_QhQ2?<3hSA zF;H4>;VSFeuGPAGKB=H0W#(G-=Y3Drdm;Z=!-*@X>xc9Hh|8{d}+rDJiYf>wKUK4appik?|d&B5wq-mYooCj!3DV ziW6{cqV+ik)+mYZn&)mdSh2OizGER+tgBsR_4r%`l5*d!GMe)l_CdKky?jtjbcaz; zRMljH%dgz6fYq&A+jC3x_?|8RE3O0|c8$9(1=m48@SOAXnO_3J3~i^sBo|Dz-7xmP z0`b0t-ZZ)cK*bsQmnjAuOrgwlx{5f>3jDBQvLfQKVoy z%BJ|}!*D>+u*8wRt6rRT_Nlni@WT$+(%2c=i`z{9D~WsqU|lfs;PEuA<3%I0y6Fe% zL^^AJ#9#j#0gk6ynxt&(H{+bJVcypPCM##S3KTkoerp}V>>{mJ1)2&)ma2*yJ|ENo ziBR=M@wfTbyq7O%mola0eYX2K8Q{Q6BbP4-4Xgu9pY<%z7WOOeiW@72_@G6KT&d_- zc>z%;4sYChgfB+sgx##b(6HB1_7b_BkQ_0oN4U1PEF zB@!u*IN;nm!qWw)O|1^pGzbm!!?fAbDaPUou`6!<96lK?uT!Rl0@k z#l};(X8aG)$iW_S>oP@-3S>}B{t)C3LiIw&vk>pf`Q>k9U$-O|bCItSnZd)x14A`c z>=tVpYo0<5ee!lv45M|?6k*!g*W^`8G@Vw|X%4ZqnVGCoK88$x1=f*ZL zU$M0hMjznUJZ*Tf$7p=X{LUIIX#xd)>j5y5$iBq390sGh==s?hOGC2G(yDaRe$~`7 zbgr6H$M9PX=>}5t@}b6!W#8QRXYcJ-ofR4~9-P*c@VX+dupC)_KHsV)=Ch0DlVf+sE=DmDCMzqL1MqiFa5K&~pv0c0`tMIml z5lo7?Zu1Gugf*g2-?3Zv20K9jZSPdDX8+S*9JZpDrkSc!2R(CwZ}mSdL-iCYV6Ia2 z;<584D|0BBk&3~d98-h}7#+pKH7UoY%HZHVMLMJ2f6rXz#=yz-{*BVg;Hsc(QGgS-@ z2qXE4w?}P+gf{ zqmt>Pku$T9aG2XR^&kn~B$93u%I5{;kqiPapXN$;j%^ix|Ya*}~b0Sf{ zX+gWygO2uMPznvmo)2%(m%;F1Ucz?T-l;S)W5ZnR#d%>G_79$YQTyA$UFjHMz zAPUC^8I!b!R(A`1Wt}<+P!#sW{oz`3rjvYaz58%iLrd?^+aF%0Vl<3AzLIVu-SX_+ zoTi?V4HYSuLO!eJPCn@1gYkcw)na~a#7tmc)#{+1@I}c#TL$w_;btfwlyiQm)6dD( zD+Hc@%urjF-F+WllY8oA)_xnUPFXjWjI@k}k8fFJjGk|`A}%gv;Pm>UN;0N%4-B-8 zvvEa`N$pcj1wWV87`MaMmPN05IYRI3ZzfZm?jv;k=aF&Fo)hCmr=K;aH#$FTI#rh@ zGMkrqk>~mg$*hZflj5+qc%7RP{>dFaS@XWR1!J!vDKXD6{ui7Y^EjU%Za;RDU?AJO z*w3wglUWlA~9n`a&| znm&%ce-LTgifg=pZOVGr+noB{pX=26weiu;rSlmn;W*visCMXBYH5CDe3iV85t8W> z#~(1^2YMR7K;!BMHJ&_ZiG1u6!Vs8mJMmA+?MGrlJr{(={k95H{3lZGG&l~2czmCZs%}l+)2knZsH1JkSmJBY{yBxU z{a}}_&D^WQZtUo4n{QJC*ssEE0MQJw+n)!WAZ{#j7BAm zz84(&{u%Ry1@_=6YB1D^5$MALiXL}ecn*h3#KWe^zq4Aa*fQ^$nKA}c2>EhPR+ZIl z82tE*>OL(eD3Q13+9b%GoHdP3+&p>l{%YD^eyv6IWJY*MY4V(oYw+*A{M4K2=K_r- z8SjiF<~l(?;5zg;_i8}-J?5`JMg7kZ0)l%|9T(`0)NU&3`JsFZ>ZAzmA(d`9C~a`?kxUpx=itJJ^HjWvZ}0Q9VuF+E=_Th+ifPAYD+!f!D`J(^!r6 zSv&P5gWRQ!G#YU>wjo0t`#r7KZnWVLe8u~8vBTZ=a)I9zm@ssHHQwl0a6#~{@Gj^~Rh#KlNn!Nt*%#?mX8NU{`Ne^7hh^L^gFOw3BzGVidA7&^IoPkz!fZV=mS%w$XMm1Cs3)YSN5KMwgwN+^LBfONhoe z`nz>@vE$s;)&1b^G~jX`h_Y@vm}gm>%~QjNr`0B10-|a{fB=P!+I&p|rLcW~K|kQc zFc3CAdOe!B>T?`^-85${-KH`djCs1q9=#9siy&aGvTj?(s33`U773EiwKloTOFz&k zLLa3cQ(dM8D1joH=DAp=&S0?*il&5s{#(lCT2b|{#>SpUJkPZh8tpQphJ^4lrh?yO zoWnh(^IUQWCyx<0AZ@xLoaRmO8bzb4Rbx5Q_>Gm~W*DxA6 zzVGp9Z2cGg^GJ61n$Cb(j-xL9P-;AGN9d{W&HL=f7gzG{CDN={Q9zH& zvITOb+k7`@r}uiYKLtB!?f(t}?&G-Kc>lkFfO|;=xRn{0E23t}chKV%E!cORkKAhG zOU1t@XTa<|h?xCtPfITN#UVxaz_#}l$=VU?tCAbujJpZ^yyg+2(W*pZ*&pD0QS#7u z^{jRr)M6LdA3AKydp%{VfNZvmN3F|xAKINxG&{wYLLQ@fnz7;h z2fD39E((?&`m_^lY)Ck}krfHCy?z$l1I@%S^3S-QzxiY zU(p&!`Ws5%nOVOmdB(*qi9Nu|W-OKu`|8oo00z)62AiXFmm%wseP?V!BPXA@So4;s z(e1Hw3zF5nzv-P=t8fnhQRRa_y z!~OhXr%9)JcDoh$`$64L-4oZt)T?F}77?E}h*Q1&1w1=5*%{WHY2jPUsO0c$ZR{ZQ ztIW(f7I2=x1syWH!tAc5>oNSd$fZu(sDm{_o1e<(FAdzKiY%Dxn(;bGh&^|8W}J{y ze&~fVp!iiLG$=~`ER_c>a;a;4O)@jllU&z$o6|SkzUJ@MauXr&tSUS(aJ-bXgq5nM ziV?UlBX7du5jkm=LbUFj`5>L_qAOh0#c%zZgnY`2TZBM-_!K{_XC<^3(Pr%5LC<PjDc{Cs8(zpZ-@qj^C5m#o)l}^WQJKK6z=a-@3g{`r zP-W#&Vj<4#2ey_-Oeu*tg`Vn3LnW5-?o7agV1<7oi?$vbOm)Zocxbp=oOJBE@8aeR zbe(;$sFxay!y9hlkMr`b6&QI839F5F&&vic$Zlo1pmx4R;cv;VETn9qNab#|GYc-Y z8_1&K;?@ek1)DV9m5t$TYodw|N&MK=Wkln9h&>=IH1vdngF}QfkrK5tY%@W)IU05j za2dp#2b=Zh3kEG;0~&V1Uts1J;K*CPw1_vC4Wd-{OK)zHwxIi8x!~14yjz2Un-2o3 zH&+X`s)`B=PXar=o(2vfdMhJpw>C)l@=4|Ou&ow3pP5A9<#w;n0WnkWQ5l;I0>j31 z|E80HR_H!Kw6g+)f^z!_q}4URdz+WnfE)XL&UmJ!rA5@&tJ!&n=^GgE($Rr2>5fR! zy0Q@RVxps?8z}w3wVR|LKYqXtYG`QCx`rKo92v;9rnTEj`Y7FOOG^u^QyeiS{c^2Q zLQ-;z>qXu2as|-y;Ccju#g6dP59k!;E?^~Va~TIu1GwhqO|F>m)Uy7dHK*b4(V`J6 zD=Yo5zpW}sHEa2Eb!^H^m^GDk_A?WA{?*ObuU}z>Vz=otFG3*bO%F35(qx=Z&edXL zPB3`gZDXr;b9Hj{?zrJdo3^r3z(SKOZQ=A$I91@TXmu*nRMgf6L#DXSg(~402HaiT zp7jl_2>%>j8w?Z7XB;RhlDhuR39&t=pdfA@!sLajfLjxORx2nfqD16U6nvZ^K;ssJ z1>xK_TR;GpNA1uondj_BcE7|sW81~#Kb6DPr-h!rc$CBi; zVp0O;zpc(XTz|)~_m-Zf^P%n^#%Ha~V+2g>O+PSmLSABbRE6iaB`DCF=>GiG@vR%aFD8w{9ZZzB))y!z zJR2Gtc@G^r^sf;WE&!f=DFdp(RySRhvBou2eYp;#MP~!@Ad1~4UB>TvmH;H8wG=VDuTCa z02CeCb?aem@UD+(KQhKt8V^SJjNlR#uGUi){n#~ zt>w-&$@Vj06lNE2%Cbu9v)A|8BL{Q9a#$R@9#3ExpqfD`8JUjd-*2=#G{{R_b#Kzt zm(4_6utBAQ<;w^uAO%!7(UY{5 zH%dP(sYR`+7q-ZW`}-nE9_KSv_)pmg~b04_+P&YY^O8R?kL; z!A5flc1A8 zIeYoF)wxDNh5;u-DAbvSm6dtdyD?#s#=<3Q9)Zj<1NuTYlpK(|rsxUK)6kS4izhi% z3r?4>0VK+r&>uN>q8gnDHs$rgPaQM;wf)P>!%;hQU(uo;(7K|mTpQ#dh{T%&&GcN| z)7$Ft&h0ed^D&lQRH*JKoRE;1==h_l>ENGw7o4Axx5dqbho9d`OhV#c zTZrduqU}8I5n)>7EU668~{N)E`JO8wP#JvHgY*^#^ZlI9PjmmCaFI*_Hx0z0l7= zC*0SG2y>Zy(@IMw&jhC~ZNiydqcPh@H#;ye;PN0_SnBC)rN`(A(1#{G`Ss~3BjwK6 z3g~)HfWE8fR-y6oR0-|`=nnJtO`Yi@XWwHDcDU6Dad2>O@mutF4)OYnzd>WN zm~uw0(Y>Ukgeqp}wwBAXviR88*duTP3wzY$u5qNwfHnrW- zX3EJuTQi7e9AL`#8VbTl<#;^nwj3E{s;+nX=RIC_b89>+C7d3BuAi#umc&7bSOYmx2N)T_%j!oEBo9Ek@2UNCL`kb>u=S1@fegr}WXggsvTqg>g_>w|0&;9O+0<)9;y9%N)Nk0FD@x5dw`MA zAI3En5)#tT*%`a9Fg??!*VUM&+5tYiN-YWM`bVeP0@mjmNnQtjQ_#5Dm63!7+mt|| zKeSdS$hy?vf#n*?3ROk%1?Jp;X1aHMJ-{j;0A))zt1cK=s&xEc9n$U20pvKGjZdy{ zQyus--;7_*-X-O5lLJW$o12>r6B8fz2{n~{=nI3vbXSJLCFSM+sz>`$r-ZW9N5ZzY z>R9>uR-E4&8{7*jOb&#_#lF`0J$^$id`>E47tY9zrfQTCvBN*925WXXWVc7sXCTmMr?k$gI+iOFR45uWnk7gakLnrc|f!QI|p8_=F-el>Ww-La$Z zuB@zFbUhZ;NUy65A_yx-M@PuR8#gy+>)7yNx{Xya2n0Uto_VD^vD|BB@y8F)D^5b* zqp#4*Z+^WyLuGLX9sbgRh&4^3`Py!v-m*V9DXr6H5T!nmla4Ke}IeC+c!M&iB3?**^Q* zH(%bvLy;@>60N~c4pXR5vZPILQZin&~kf@0m+H?{dxI(-5D@Hxv{#~ADaBf zmO+H`wS(q{>XXs^YZG&kMirpW@cv~mDoc%JyKtt2fi;6Xa z&!}*nDsEHN2N&kwJn*WHb##32;7=^vXCLcoDrq9&HtqaFjPJ5sV_~1=BbOW#p=kql zW{P`4KmN#AO-&62hA!JRZK~?vzB-z@$%0yFEe`aEwQDogi~dbqkdN%Itp0ZUv1AGg z$>YnLf)wUW5DQY&o0Hc{8-Vr`)Z||k@)SvA6 zF95y=6=UL&sXynoKxJEO9OhDF4;UV$YVO7wCD=q;(u{FkiFUT2cC!jc z+t@0tI=y8NfFPJ3GXIAz6BZ0La1dPO!*2vFb=iX0_+Y{NFfV6k=l%l&6*pGG1cS!D z1B%kpWiI*UI}QholJPXlAX+brQjfAD&*tam<|2-uYe5&ON5{AZne$@#V) z`X&Pf9&dtz!S(MJ^YZg$z)&?f;Zqeat!odRucR~S>>raK8+%aR=GjaPsO;7=i~gV^ z-_bxOjI={{t|!opE{sn38e|YV1ub-7|)j)ip;z^}2fO0h-Vh<;jZnphFoBQ)zVU0FCrh=41OIIVI?HF1lwF6cooF&CMS*_v!K_ zo&Vg84OEhs?>00w)r;G6-n6rQ=E~KGHB>=C!Q4cP$q>x67jcwHJV zI@9lZb@~D1$ml39BP-unCx9v}Y~kVM)qTC+qN_g`9g`k1%|WLZsBVr-E`7ndPhq(X zs1ClH>wfA720%Ym`{q>7zKpwaua2cfolxFf9yT!>h4wNog8_2{IG3j9nD@D9vX{&l z|LU|gky9Y=P52YmLAWko+Zxvno&dj5|bF){i}L{JB13( zq88js>yTHUkVNl??Es^xFL|iM@j@p7Fpa9Rn?`jc)T2yi3Z0Z*Ax1y4?x3X3=WqNf z2@eR0Nr>Zr>JFk5r@?YDh_FB9vQa<0I%Rw;3#50l?X$@dHc7IndZy(8_uB_|R!0=1 zULnd@2_vzklmC3&&5c)Wbb^Vh^Y?jcvZ&eVLS4y{h}4#(p=;2{9GRUwgGCmX0vL&l zzskJNyF2db$CqsKlJ%T+(yuDzj00MeMF&8d!KiBKxxbO^oeMjOGjL6&y49}aLhW~r zTKnBDy(jFU63h9IhXttlZf75nXssiVT8ED;yJL>H>{r=-iXb2FWJ?YU8yww-xKU_yj&ul4Veczq;-q>cD83soa>dFV$Y<|Zr^vAIIdA;b}!BYmHr~p1Wqtk+fg}8sjW(3uda;**SIlM{Yo?H+8WE<1LnP;Kh647w=Ki z#lNo{0st5FEK`#lMzCkNEO-|{IarrOBtDw}FC?%ie{Znp%;-3(3C+CE4IY}TK6Y6} zdHZz!n0K3qDKqsTrDxf5)Q>~kPt`wBV%`{UB^;Kfoq>7)lX0NFG!HCOD0Hj|wI8>8K2Xve%TSg25q$5d3^S&Gzv!=EKhqe?(fJK-vNOtfqiG#IjD|i&k_6bkVv|#PQ`7JEAH&Eag*oy^z z6TvC5B`*19`xI#JL~Ro`2emG^7ND@*ec#vDoD$01RD#BAKzf^&NWVdk3ji1aWAH#t zOs;UX_@Npt@b93GX>`;Ee_;gTe>?WdB>tZ_JNzH7fM_vEwU(De*neL^@!_yz{@wY{ zOZhoS10}5T)H@_#lBK4%355I}7#qRs5}NYOXVyrapL(qXnimcpT6Dh}j|lNO@>lt= z85#5`;CtHH)!700H{&Z^5+As!Q>6kpABTtIN@6z!A;p*duEru7{fxe2>spJ|=jX3L zHZO^L6dwIByjU(ul6s3c@8|alQG?>s!t&>f`J4`!BbMHw%wK|*G=<&9s!1*x?Ka5` zZv?kyV%o+>nWA(2;3AnNL#_FW?`8 zI5a+*QOZwDZB=jcm&ly1c#ViI&840%KMAgHJ&0DjqXeE7lv@vB^&6%ryV%p1sN&l9Xf(@I33wCx6E^mW|DU( zQ9ptl!!W%UR=tGsgEQ$N@w9Xw$O?lVS#n}1t2$N_PO6c>1DKm_b{kJK77-*hQTc{@(qW-`v^SD8 zV>-;A%_&4%bCuX=mr{Fgd75f{k>T^ElSF??jNqe^AHK|0jXH&Sp}+M>vUfTMh%(z$`@1z;;RZ|+NkU`YSY~<28lB7)|*Jmp(`BeIGuBK<7$N;K>gxBpaGDf2yC1%HtEJFL**X_A3G3MZU_+=|k+Z8AC6^y}>nkxp>KqVs`q z-tkJyoAcS^g+Wknu0VpF!l$7>;vt>w#cw;LCa72EjGe<7qFAWy(0oz4IS$S$Ptb*e#z_Z<>Pv@QwsHe6zV zc)nzM@e8;fQWtQczGWN>o<(*w9&v7hHMII4&RWddm5q+BjM=;`ND9r{X0Z^+N{7ioOpB+{QLuDv`z+(9J$C zol0}Gy6G9rTqX6pvLecjEL4#GDo9NHvd-#DgI$+kysCpSYm&ij_S}3hAJF6=5%byM z-g_UU;$XWzjT|Rs3Q`#X@JakaxjgG1Y`r9V}t=XJ6 zv@-{~ohxQlm{EB#5u@tmhK&}+nG&&)51WkM=M;$af%@vDooOA3G>rP!jYj(l_@6f# z?OaFk@2ijgv*7NHM##dqPr~1$?7-dcAaDP#e&AcR5V^C|qDRPEWwO+}9{&HI|Buf= aF8yVeYeyGWd#9*`-cr;0D__;($^Qc-jha;e literal 0 HcmV?d00001 diff --git a/docs/src/main/asciidoc/spring-cloud-gateway.adoc b/docs/src/main/asciidoc/spring-cloud-gateway.adoc index 7ceca51c..d11ef8c0 100644 --- a/docs/src/main/asciidoc/spring-cloud-gateway.adoc +++ b/docs/src/main/asciidoc/spring-cloud-gateway.adoc @@ -1,10 +1,11 @@ :github-tag: master :github-repo: spring-cloud-incubator/spring-cloud-gateway -:github-raw: http://raw.github.com/{github-repo}/{github-tag} -:github-code: http://github.com/{github-repo}/tree/{github-tag} +:github-raw: https://raw.githubusercontent.com/{github-repo}/{github-tag} +:github-code: https://github.com/{github-repo}/tree/{github-tag} :all: {asterisk}{asterisk} :nofooter: :imagesdir: ./images +:imagesurl: {github-raw}/docs/src/main/asciidoc/images = Spring Cloud Gateway *{spring-cloud-version}* @@ -22,14 +23,16 @@ If you include the starter, but, for some reason, you do not want the gateway to == Glossary -* Route: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true. -* Predicate: This is a http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters. -* Filter: These are instances http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/WebFilter.html[Spring Framework `WebFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request. +* *Route*: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true. +* *Predicate*: This is a http://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html[Java 8 Function Predicate]. The input type is a http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/ServerWebExchange.html[Spring Framework `ServerWebExchange`]. This allows developers to match on anything from the HTTP request, such as headers or parameters. +* *Filter*: These are instances http://docs.spring.io/spring/docs/5.0.x/javadoc-api/org/springframework/web/server/WebFilter.html[Spring Framework `WebFilter`] constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request. [[gateway-how-it-works]] == How It Works -TODO: give an overview of how the gateway works with maybe a ascii diagram +image::{imagesurl}/gateway_diagram.png[Spring Cloud Gateway Diagram] + +Clients make requests to Spring Cloud Gateway. If the Gateway Handler Mapping determines that a request matches a Route, it is sent to the Gateway Web Handler. This handler runs sends the request through a filter chain that is specific to the request. The reason the filters are divided by the dotted line, is that filters may execute logic before the proxy request is sent or after. All "pre" filter logic is executed, then the proxy request is made. After the proxy request is made, the "post" filter logic is executed. [[gateway-request-predicates-factories]] == Route Predicate Factories