Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client protocol draft #1

Merged
merged 1 commit into from Apr 3, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
49 changes: 49 additions & 0 deletions README.org
Expand Up @@ -67,3 +67,52 @@ Vasya # Имя пользователя
*** TODO Формат node2node API

*** TODO Формат client API

Т.к. мы используем теги, то API отправки сообщения можно не менять, но поменять конечный эндпоинт,
вынеся его в расширения протокола.

Т.е.:
#+begin_src sh
curl -XPOST -d 'pauth=authstring' -d 'tmsg=BASE64' http://node.domain.tld/x/m/point
# Либо
curl -XGET http://node.domain.tld/x/m/point/authstring/BASE64
#+end_src

А для получения сообщений адресованных вам делаем запрос вида
#+begin_src sh
curl -XGET http://node.domain.tld/x/m/mail/authstring
# Либо
curl -XPOST -d 'pauth=authstring' http://node.domain.tld/x/m/
# Получение сообщений со сдвигом
curl -XPOST -d 'pauth=authstring' http://node.domain.tld/x/m/-10:10
#+end_src

Т.к. нода по authstring может узнать информацию о поинте, то она должна знать о том
какие сообщения адресованные этому поинту есть на этой ноде и возвращает их.

Так, ответ от ноды предлагается сделать аналогичным ~/u/e~:
#+begin_src sh
curl -XPOST -d 'pauth=authstring' http://node.domain.tld/x/m/-1:1
HTTP/1.1 200 Ok
Content-Type: text/plain
dynamic,1
IZXhLBKJx0rhx0lXYu3L
#+end_src

Получаем это сообщение
Difrex marked this conversation as resolved.
Show resolved Hide resolved
#+begin_src sh
curl -XPOST -d 'pauth=authstring' http://node.domain.tld/x/m/IZXhLBKJx0rhx0lXYu3L
HTTP/1.1 200 Ok
Content-Type: text/plain
IZXhLBKJx0rhx0lXYu3L:BASE64
#+end_src

Либо несколько сообщений, по аналогии с существующей схемой ~/u/e~
#+begin_src sh
curl -XPOST -d 'pauth=authstring' http://node.domain.tld/x/m/IZXhLBKJx0rhx0lXYu3L/IZahLHKJ10rZx0ZXAAA0/...
HTTP/1.1 200 Ok
Content-Type: text/plain
IZXhLBKJx0rhx0lXYu3L:BASE64
IZahLHKJ10rZx0ZXAAA0:BASE64
...:BASE64
#+end_src