msc { hscale = 1, width = "500"; c [ label="Client" ], n [ label="Nginx" ], a [ label="Authorizer" ]; --- [ label="Good request" ]; c->n [ label="Original request" ]; n->a [ label="Mirrored request" ]; a->n [ label="Authorizer decision (200)" ]; n->c [ label="Client response (200)" ]; --- [ label="Bad request" ]; c->n [ label="Original request" ]; n->a [ label="Mirrored request" ]; a->n [ label="Authorizer decision (400)" ]; n->c [ label="Client response (403)" ]; --- [ label="Unsure request" ]; c->n [ label="Original request" ]; n->a [ label="Mirrored request" ]; a->n [ label="Authorizer decision (401)" ]; n->c [ label="Client response (401)" ]; }