summaryrefslogtreecommitdiff
path: root/doc/sequence-diagrams/request-response.seq
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2016-10-17 09:09:59 +0000
committerazul <azul@riseup.net>2016-10-17 09:09:59 +0000
commit4159b6dd0df8e370fe95ca0c173552dd311cac3a (patch)
treef9f7fc37f18465a635ef957a0d78fa24c3b34e2b /doc/sequence-diagrams/request-response.seq
parent5dae257996c480c3f7b5a220fcaf97812a560466 (diff)
parent968c6304e01b89cb6e5c62e8f067cf371c12dca4 (diff)
Merge branch 'release/0.9' into 'master'
Release 0.9 Version 0.9.0 Allow queries by fingerprint (using keyservers to reply) and support key lookup from other nickservers. This is a major rewrite both in terms of our dependencies and our architecture. We moved the server and http_client from eventmachine to Celluloid based libraries. This allows for a more concise syntax and proper https handling. In addition we now support ruby 2.3, use a Logger instead of stdout and handle network errors properly See merge request !7
Diffstat (limited to 'doc/sequence-diagrams/request-response.seq')
-rw-r--r--doc/sequence-diagrams/request-response.seq22
1 files changed, 22 insertions, 0 deletions
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