Skip to content

Instantly share code, notes, and snippets.

@aeneasr
Last active May 21, 2019 10:31
Show Gist options
  • Save aeneasr/74e7ebda3799088dc19a33e8c19bdb5f to your computer and use it in GitHub Desktop.
Save aeneasr/74e7ebda3799088dc19a33e8c19bdb5f to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<svg id="mermaid-1558430189812" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 565.01171875px;" viewBox="0 0 565.01171875 596"><style>
#mermaid-1558430189812 .label {
font-family: 'trebuchet ms', verdana, arial;
color: #333; }
#mermaid-1558430189812 .node rect,
#mermaid-1558430189812 .node circle,
#mermaid-1558430189812 .node ellipse,
#mermaid-1558430189812 .node polygon {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1px; }
#mermaid-1558430189812 .node.clickable {
cursor: pointer; }
#mermaid-1558430189812 .arrowheadPath {
fill: #333333; }
#mermaid-1558430189812 .edgePath .path {
stroke: #333333;
stroke-width: 1.5px; }
#mermaid-1558430189812 .edgeLabel {
background-color: #e8e8e8; }
#mermaid-1558430189812 .cluster rect {
fill: #ffffde !important;
stroke: #aaaa33 !important;
stroke-width: 1px !important; }
#mermaid-1558430189812 .cluster text {
fill: #333; }
#mermaid-1558430189812 div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #ffffde;
border: 1px solid #aaaa33;
border-radius: 2px;
pointer-events: none;
z-index: 100; }
#mermaid-1558430189812 .actor {
stroke: #CCCCFF;
fill: #ECECFF; }
#mermaid-1558430189812 text.actor {
fill: black;
stroke: none; }
#mermaid-1558430189812 .actor-line {
stroke: grey; }
#mermaid-1558430189812 .messageLine0 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: #333; }
#mermaid-1558430189812 .messageLine1 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: #333; }
#mermaid-1558430189812 #arrowhead {
fill: #333; }
#mermaid-1558430189812 #crosshead path {
fill: #333 !important;
stroke: #333 !important; }
#mermaid-1558430189812 .messageText {
fill: #333;
stroke: none; }
#mermaid-1558430189812 .labelBox {
stroke: #CCCCFF;
fill: #ECECFF; }
#mermaid-1558430189812 .labelText {
fill: black;
stroke: none; }
#mermaid-1558430189812 .loopText {
fill: black;
stroke: none; }
#mermaid-1558430189812 .loopLine {
stroke-width: 2;
stroke-dasharray: '2 2';
stroke: #CCCCFF; }
#mermaid-1558430189812 .note {
stroke: #aaaa33;
fill: #fff5ad; }
#mermaid-1558430189812 .noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px; }
#mermaid-1558430189812 .activation0 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1558430189812 .activation1 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1558430189812 .activation2 {
fill: #f4f4f4;
stroke: #666; }
#mermaid-1558430189812 .section {
stroke: none;
opacity: 0.2; }
#mermaid-1558430189812 .section0 {
fill: rgba(102, 102, 255, 0.49); }
#mermaid-1558430189812 .section2 {
fill: #fff400; }
#mermaid-1558430189812 .section1,
#mermaid-1558430189812 .section3 {
fill: white;
opacity: 0.2; }
#mermaid-1558430189812 .sectionTitle0 {
fill: #333; }
#mermaid-1558430189812 .sectionTitle1 {
fill: #333; }
#mermaid-1558430189812 .sectionTitle2 {
fill: #333; }
#mermaid-1558430189812 .sectionTitle3 {
fill: #333; }
#mermaid-1558430189812 .sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px; }
#mermaid-1558430189812 .grid .tick {
stroke: lightgrey;
opacity: 0.3;
shape-rendering: crispEdges; }
#mermaid-1558430189812 .grid path {
stroke-width: 0; }
#mermaid-1558430189812 .today {
fill: none;
stroke: red;
stroke-width: 2px; }
#mermaid-1558430189812 .task {
stroke-width: 2; }
#mermaid-1558430189812 .taskText {
text-anchor: middle;
font-size: 11px; }
#mermaid-1558430189812 .taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px; }
#mermaid-1558430189812 .taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px; }
#mermaid-1558430189812 .taskText0,
#mermaid-1558430189812 .taskText1,
#mermaid-1558430189812 .taskText2,
#mermaid-1558430189812 .taskText3 {
fill: white; }
#mermaid-1558430189812 .task0,
#mermaid-1558430189812 .task1,
#mermaid-1558430189812 .task2,
#mermaid-1558430189812 .task3 {
fill: #8a90dd;
stroke: #534fbc; }
#mermaid-1558430189812 .taskTextOutside0,
#mermaid-1558430189812 .taskTextOutside2 {
fill: black; }
#mermaid-1558430189812 .taskTextOutside1,
#mermaid-1558430189812 .taskTextOutside3 {
fill: black; }
#mermaid-1558430189812 .active0,
#mermaid-1558430189812 .active1,
#mermaid-1558430189812 .active2,
#mermaid-1558430189812 .active3 {
fill: #bfc7ff;
stroke: #534fbc; }
#mermaid-1558430189812 .activeText0,
#mermaid-1558430189812 .activeText1,
#mermaid-1558430189812 .activeText2,
#mermaid-1558430189812 .activeText3 {
fill: black !important; }
#mermaid-1558430189812 .done0,
#mermaid-1558430189812 .done1,
#mermaid-1558430189812 .done2,
#mermaid-1558430189812 .done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2; }
#mermaid-1558430189812 .doneText0,
#mermaid-1558430189812 .doneText1,
#mermaid-1558430189812 .doneText2,
#mermaid-1558430189812 .doneText3 {
fill: black !important; }
#mermaid-1558430189812 .crit0,
#mermaid-1558430189812 .crit1,
#mermaid-1558430189812 .crit2,
#mermaid-1558430189812 .crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2; }
#mermaid-1558430189812 .activeCrit0,
#mermaid-1558430189812 .activeCrit1,
#mermaid-1558430189812 .activeCrit2,
#mermaid-1558430189812 .activeCrit3 {
stroke: #ff8888;
fill: #bfc7ff;
stroke-width: 2; }
#mermaid-1558430189812 .doneCrit0,
#mermaid-1558430189812 .doneCrit1,
#mermaid-1558430189812 .doneCrit2,
#mermaid-1558430189812 .doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges; }
#mermaid-1558430189812 .doneCritText0,
#mermaid-1558430189812 .doneCritText1,
#mermaid-1558430189812 .doneCritText2,
#mermaid-1558430189812 .doneCritText3 {
fill: black !important; }
#mermaid-1558430189812 .activeCritText0,
#mermaid-1558430189812 .activeCritText1,
#mermaid-1558430189812 .activeCritText2,
#mermaid-1558430189812 .activeCritText3 {
fill: black !important; }
#mermaid-1558430189812 .titleText {
text-anchor: middle;
font-size: 18px;
fill: black; }
#mermaid-1558430189812 g.classGroup text {
fill: #9370DB;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 10px; }
#mermaid-1558430189812 g.classGroup rect {
fill: #ECECFF;
stroke: #9370DB; }
#mermaid-1558430189812 g.classGroup line {
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 .classLabel .box {
stroke: none;
stroke-width: 0;
fill: #ECECFF;
opacity: 0.5; }
#mermaid-1558430189812 .classLabel .label {
fill: #9370DB;
font-size: 10px; }
#mermaid-1558430189812 .relation {
stroke: #9370DB;
stroke-width: 1;
fill: none; }
#mermaid-1558430189812 #compositionStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #compositionEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #aggregationStart {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #aggregationEnd {
fill: #ECECFF;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #dependencyStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #dependencyEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #extensionStart {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 #extensionEnd {
fill: #9370DB;
stroke: #9370DB;
stroke-width: 1; }
#mermaid-1558430189812 .commit-id,
#mermaid-1558430189812 .commit-msg,
#mermaid-1558430189812 .branch-label {
fill: lightgrey;
color: lightgrey; }
#mermaid-1558430189812 .label foreignObject { overflow: visible; font-size: 13px }</style><style>#mermaid-1558430189812 {
color: rgba(0, 0, 0, 0.65098);
font: normal normal normal normal 14px/21px "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}</style><g transform="translate(-12, -12)"><g class="output"><g class="clusters"></g><g class="edgePaths"><g class="edgePath" style="opacity: 1;"><path class="path" d="M187.45703125,61L187.45703125,86L187.45703125,111" marker-end="url(#arrowhead37)" style="fill:none"></path><defs><marker id="arrowhead37" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M221.19423130580356,152L279.6171875,187.5L279.6171875,223" marker-end="url(#arrowhead38)" style="fill:none"></path><defs><marker id="arrowhead38" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M153.71983119419644,152L95.296875,187.5L95.296875,223" marker-end="url(#arrowhead39)" style="fill:none"></path><defs><marker id="arrowhead39" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M320.36265345982144,264L390.921875,299.5L390.921875,335" marker-end="url(#arrowhead40)" style="fill:none"></path><defs><marker id="arrowhead40" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M238.87172154017856,264L168.3125,299.5L168.3125,335" marker-end="url(#arrowhead41)" style="fill:none"></path><defs><marker id="arrowhead41" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M353.56685965401783,376L288.87890625,411.5L288.87890625,447" marker-end="url(#arrowhead42)" style="fill:none"></path><defs><marker id="arrowhead42" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M428.27689034598217,376L492.96484375,411.5L492.96484375,447" marker-end="url(#arrowhead43)" style="fill:none"></path><defs><marker id="arrowhead43" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath" style="opacity: 1;"><path class="path" d="M492.96484375,488L492.96484375,523.5L492.96484375,559" marker-end="url(#arrowhead44)" style="fill:none"></path><defs><marker id="arrowhead44" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g></g><g class="edgeLabels"><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(279.6171875,187.5)"><g transform="translate(-89.0234375,-10.5)" class="label"><foreignObject width="178.046875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">found matching access rule</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(95.296875,187.5)"><g transform="translate(-75.296875,-10.5)" class="label"><foreignObject width="150.59375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">did not find access rule</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(390.921875,299.5)"><g transform="translate(-98.546875,-10.5)" class="label"><foreignObject width="197.09375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">credentials in request are valid</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(168.3125,299.5)"><g transform="translate(-104.0625,-10.5)" class="label"><foreignObject width="208.125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">credentials in request are invalid</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(288.87890625,411.5)"><g transform="translate(-109,-10.5)" class="label"><foreignObject width="218" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">request does not have permission</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(492.96484375,411.5)"><g transform="translate(-75.0859375,-10.5)" class="label"><foreignObject width="150.171875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">request has permission</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(492.96484375,523.5)"><g transform="translate(-73.0546875,-10.5)" class="label"><foreignObject width="146.109375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span class="edgeLabel">transform http request</span></div></foreignObject></g></g></g><g class="nodes"><g class="node" style="opacity: 1;" id="401" transform="translate(168.3125,355.5)"><rect rx="5" ry="5" x="-54" y="-20.5" width="108" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44,-10.5)"><foreignObject width="88" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">HTTP Error 401</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="403" transform="translate(288.87890625,467.5)"><rect rx="5" ry="5" x="-54" y="-20.5" width="108" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44,-10.5)"><foreignObject width="88" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">HTTP Error 403</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="404" transform="translate(95.296875,243.5)"><rect rx="5" ry="5" x="-54" y="-20.5" width="108" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44,-10.5)"><foreignObject width="88" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">HTTP Error 404</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="r" transform="translate(187.45703125,40.5)"><rect rx="5" ry="5" x="-50.2578125" y="-20.5" width="100.515625" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-40.2578125,-10.5)"><foreignObject width="80.515625" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">HTTP Request</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="arm" transform="translate(187.45703125,131.5)"><rect rx="5" ry="5" x="-69.0546875" y="-20.5" width="138.109375" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-59.0546875,-10.5)"><foreignObject width="118.109375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Access Rule Matcher</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="an" transform="translate(279.6171875,243.5)"><rect rx="5" ry="5" x="-50.2734375" y="-20.5" width="100.546875" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-40.2734375,-10.5)"><foreignObject width="80.546875" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Authenticator</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="az" transform="translate(390.921875,355.5)"><rect rx="5" ry="5" x="-40.5390625" y="-20.5" width="81.078125" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-30.5390625,-10.5)"><foreignObject width="61.078125" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Authorizer</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="mt" transform="translate(492.96484375,467.5)"><rect rx="5" ry="5" x="-32.75" y="-20.5" width="65.5" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-22.75,-10.5)"><foreignObject width="45.5" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Mutator</div></foreignObject></g></g></g><g class="node" style="opacity: 1;" id="res" transform="translate(492.96484375,579.5)"><rect rx="5" ry="5" x="-76.046875" y="-20.5" width="152.09375" height="41"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-66.046875,-10.5)"><foreignObject width="132.09375" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Forward HTTP Request</div></foreignObject></g></g></g></g></g></g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment