summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/sequence-diagrams/request-response.pngbin0 -> 37705 bytes
-rw-r--r--doc/sequence-diagrams/request-response.seq22
2 files changed, 22 insertions, 0 deletions
diff --git a/doc/sequence-diagrams/request-response.png b/doc/sequence-diagrams/request-response.png
new file mode 100644
index 0000000..170ce7a
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.png
Binary files differ
diff --git a/doc/sequence-diagrams/request-response.seq b/doc/sequence-diagrams/request-response.seq
new file mode 100644
index 0000000..9baca21
--- /dev/null
+++ b/doc/sequence-diagrams/request-response.seq
@@ -0,0 +1,22 @@
+title Nickserver Request-Response-Sequence
+
+Client-->Server: Request
+Server->*Responder: new
+Server->*Dispatcher: new(responder)
+Server->Dispatcher: respond_to(params, headers)
+# Dispatcher->*Request: new(params, headers)
+Dispatcher->*HandlerA: call(request)
+# HandlerA->Request: params
+# Request->HandlerA: address: 'mail@domain'
+note right of HandlerA: not responsible
+HandlerA-->Dispatcher: nil
+destroy HandlerA
+Dispatcher->*HandlerB: call(request)
+note right of HandlerB: responsible\nquery source and build response
+HandlerB-->Dispatcher: reponse
+destroy HandlerB
+Dispatcher->Responder: send_response(response)
+# destroy Request
+destroy Dispatcher
+Responder-->Client: Response
+destroy Responder