Browse Source

Update protocol to v1 which removes registered commands for simplicity

master
Alex Williams 8 months ago
parent
commit
469eedb9c6
Signed by: aw GPG Key ID: 19EE4AAA361A7E2C
4 changed files with 91 additions and 148 deletions
  1. +28
    -37
      README.md
  2. +6
    -14
      protocols/GEMINI.md
  3. +42
    -58
      protocols/HTTP.md
  4. +15
    -39
      protocols/STOMP.md

+ 28
- 37
README.md View File

@ -2,7 +2,7 @@
This registry exists to ensure proper cooperation between various [BOAWP](https://git.boawp.org/boawp/boawp) implementations.
The default [commands](#default-commands), [headers](#default-headers), and [datatypes](#default-datatypes) apply to _every_ protocol, and can be extended by assigning names and values in the documents listed below.
The default [headers](#default-headers), and [datatypes](#default-datatypes) apply to _every_ protocol, and are extended in the documents listed below.
# Protocols
@ -12,60 +12,51 @@ The default [commands](#default-commands), [headers](#default-headers), and [dat
# Usage
Each protocol contains a table which maps the name of the init, command, header, or datatype to various representations (decimal, hex, etc).
Each protocol contains a table which maps the name of the init, header, or datatype to various representations (decimal, hex, etc).
When implementing _BOAWP_, it is important to use the **exact same decimal or hex** values assigned in this registry.
The default init, commands, headers, and datatypes listed below must be used in addition to the protocol-specific assigned values.
The default init, headers, and datatypes listed below must be used in addition to the protocol-specific assigned values.
# Default init
| Name | Hex | UTF-8 | BOAWP Version | Description |
| :---- | :----: | :----: | :----: | :---- |
| B0A v0 | 0x4230410A | "B0A\n" | 0 | BOAWP protocol init string |
# Default commands
| Name | Decimal | Hex | UTF-8 | BOAWP Version | Description |
| :---- | :----: | :----: | :----: | :----: | :---- |
| NOOP | 10 | 0x0A | "\n" | 0 | No operation |
| ERROR | 33 | 0x21 | "!" | 0 | Error |
| OK | 43 | 0x2B | "+" | 0 | No error |
| BOA v01 | 0x424F4130310A | "BOA01\n" | 1 | BOAWP protocol init string |
# Default headers
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| noop | 32 | 0x20 | " " | 0 |
| protocol | 65 | 0x41 | "A" | 0 |
| max-headers | 66 | 0x42 | "B" | 0 |
| max-body | 67 | 0x43 | "C" | 0 |
| max-value | 68 | 0x44 | "D" | 0 |
| max-int | 69 | 0x45 | "E" | 0 |
| null | 70 | 0x46 | "F" | 0 |
| true | 71 | 0x47 | "G" | 0 |
| false | 72 | 0x48 | "H" | 0 |
| accept-version | 73 | 0x49 | "I" | 0 |
| content-type | 74 | 0x4A | "J" | 0 |
| content-encoding | 75 | 0x4B | "K" | 0 |
| date | 76 | 0x4C | "L" | 0 |
| host | 77 | 0x4D | "M" | 0 |
| keepalive | 78 | 0x4E | "N" | 0 |
| server | 79 | 0x4F | "O" | 0 |
| timestamp | 80 | 0x50 | "P" | 0 |
| user-agent | 81 | 0x51 | "Q" | 0 |
| noop | 32 | 0x20 | " " | 1 |
| protocol | 65 | 0x41 | "A" | 1 |
| command | 66 | 0x42 | "B" | 1 |
| host | 67 | 0x43 | "C" | 1 |
| accept-version | 68 | 0x44 | "D" | 1 |
| max-headers | 69 | 0x45 | "E" | 1 |
| max-body | 70 | 0x46 | "F" | 1 |
| max-object | 71 | 0x47 | "G" | 1 |
| max-int | 72 | 0x48 | "H" | 1 |
| content-type | 73 | 0x49 | "I" | 1 |
| content-encoding | 74 | 0x4A | "J" | 1 |
| date | 75 | 0x4B | "K" | 1 |
| error | 76 | 0x4C | "L" | 1 |
| keepalive | 77 | 0x4D | "M" | 1 |
| server | 78 | 0x4E | "N" | 1 |
| timestamp | 79 | 0x4F | "O" | 1 |
| user-agent | 80 | 0x50 | "P" | 1 |
# Standard datatypes
| Name | Decimal | Hex | UTF-8 | BOAWP Version | Description |
| :---- | :----: | :----: | :----: | :----: | :---- |
| null | 110 | 0x6E | "n" | 0 | |
| true | 116 | 0x74 | "t" | 0 | |
| false | 102 | 0x66 | "f" | 0 | |
| integer | 105 | 0x69 | "i" | 0 | signed big-endian integer (2s complement) |
| string | 115 | 0x73 | "s" | 0 | UTF-8 string |
| binary | 98 | 0x62 | "b" | 0 | sequence of raw bytes |
| map | 109 | 0x6D | "m" | 0 | array of key/value pairs |
| null | 110 | 0x6E | "n" | 1 | |
| true | 116 | 0x74 | "t" | 1 | |
| false | 102 | 0x66 | "f" | 1 | |
| integer | 105 | 0x69 | "i" | 1 | signed big-endian integer (2s complement) |
| string | 115 | 0x73 | "s" | 1 | UTF-8 string |
| binary | 98 | 0x62 | "b" | 1 | sequence of raw octets (bytes) |
| map | 109 | 0x6D | "m" | 1 | array of key/value pairs (tuples) |
# Contributing


+ 6
- 14
protocols/GEMINI.md View File

@ -1,14 +1,6 @@
# GEMINI
Registered commands and headers for the text-based GEMINI protocol.
## Commands
List of assigned commands for [GEMINI](https://gemini.circumlunar.space/docs/specification.html).
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| GET | 97 | 0x61 | "a" | 0 |
Registered headers for the text-based GEMINI protocol.
## Headers
@ -16,10 +8,10 @@ List of assigned headers for [GEMINI](https://gemini.circumlunar.space/docs/spec
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| fragment | 82 | 0x52 | "R" | 0 |
| lang | 83 | 0x53 | "S" | 0 |
| path | 84 | 0x54 | "T" | 0 |
| query | 85 | 0x55 | "U" | 0 |
| status | 86 | 0x56 | "V" | 0 |
| fragment | 82 | 0x52 | "R" | 1 |
| lang | 83 | 0x53 | "S" | 1 |
| path | 84 | 0x54 | "T" | 1 |
| query | 85 | 0x55 | "U" | 1 |
| status | 86 | 0x56 | "V" | 1 |
This documentation is Copyright (c) 2020 Alexander Williams, On-Prem <license@on-premises.com>, and licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) license.

+ 42
- 58
protocols/HTTP.md View File

@ -1,22 +1,6 @@
# HTTP
Registered commands and headers for the text-based HTTP protocol.
## Commands
List of assigned commands for [HTTP](https://tools.ietf.org/html/rfc7231#section-4.3).
| Name | Decimal | Hex | UTF-8 | HTTP Version |
| :---- | :----: | :----: | :----: | :----: |
| GET | 97 | 0x61 | "a" | 1.1 |
| HEAD | 98 | 0x62 | "b" | 1.1 |
| POST | 99 | 0x63 | "c" | 1.1 |
| PUT | 100 | 0x64 | "d" | 1.1 |
| DELETE | 101 | 0x65 | "e" | 1.1 |
| CONNECT | 102 | 0x66 | "f" | 1.1 |
| OPTIONS | 103 | 0x67 | "g" | 1.1 |
| TRACE | 104 | 0x68 | "h" | 1.1 |
| PATCH | 105 | 0x69 | "i" | 1.1 |
Registered headers for the text-based HTTP protocol.
## Headers
@ -24,46 +8,46 @@ List of assigned headers for [HTTP](https://tools.ietf.org/html/rfc7541#appendix
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| accept-charset | 82 | 0x52 | "R" | 0 |
| accept-encoding | 83 | 0x53 | "S" | 0 |
| accept-language | 84 | 0x54 | "T" | 0 |
| accept-ranges | 85 | 0x55 | "U" | 0 |
| accept | 86 | 0x56 | "V" | 0 |
| access-control-allow-origin | 87 | 0x57 | "W" | 0 |
| age | 88 | 0x58 | "X" | 0 |
| allow | 89 | 0x59 | "Y" | 0 |
| authorization | 90 | 0x5A | "Z" | 0 |
| cache-control | 48 | 0x30 | "0" | 0 |
| content-disposition | 49 | 0x31 | "1" | 0 |
| content-language | 50 | 0x32 | "2" | 0 |
| content-length | 51 | 0x33 | "3" | 0 |
| content-location | 52 | 0x34 | "4" | 0 |
| content-range | 53 | 0x35 | "5" | 0 |
| cookie | 54 | 0x36 | "6" | 0 |
| etag | 55 | 0x37 | "7" | 0 |
| expect | 56 | 0x38 | "8" | 0 |
| expires | 57 | 0x39 | "9" | 0 |
| from | 97 | 0x61 | "a" | 0 |
| if-match | 98 | 0x62 | "b" | 0 |
| if-modified-since | 99 | 0x63 | "c" | 0 |
| if-none-match | 100 | 0x64 | "d" | 0 |
| if-range | 101 | 0x65 | "e" | 0 |
| if-unmodified-since | 102 | 0x66 | "f" | 0 |
| last-modified | 103 | 0x67 | "g" | 0 |
| link | 104 | 0x68 | "h" | 0 |
| location | 105 | 0x69 | "i" | 0 |
| max-forwards | 106 | 0x6A | "j" | 0 |
| proxy-authenticate | 107 | 0x6B | "k" | 0 |
| proxy-authorization | 108 | 0x6C | "l" | 0 |
| range | 109 | 0x6D | "m" | 0 |
| referer | 110 | 0x6E | "n" | 0 |
| refresh | 111 | 0x6F | "o" | 0 |
| retry-after | 112 | 0x70 | "p" | 0 |
| set-cookie | 113 | 0x71 | "q" | 0 |
| strict-transport-security | 114 | 0x72 | "r" | 0 |
| transfer-encoding | 115 | 0x73 | "s" | 0 |
| vary | 116 | 0x74 | "t" | 0 |
| via | 117 | 0x75 | "u" | 0 |
| www-authenticate | 118 | 0x76 | "v" | 0 |
| accept-charset | 82 | 0x52 | "R" | 1 |
| accept-encoding | 83 | 0x53 | "S" | 1 |
| accept-language | 84 | 0x54 | "T" | 1 |
| accept-ranges | 85 | 0x55 | "U" | 1 |
| accept | 86 | 0x56 | "V" | 1 |
| access-control-allow-origin | 87 | 0x57 | "W" | 1 |
| age | 88 | 0x58 | "X" | 1 |
| allow | 89 | 0x59 | "Y" | 1 |
| authorization | 90 | 0x5A | "Z" | 1 |
| cache-control | 48 | 0x30 | "0" | 1 |
| content-disposition | 49 | 0x31 | "1" | 1 |
| content-language | 50 | 0x32 | "2" | 1 |
| content-length | 51 | 0x33 | "3" | 1 |
| content-location | 52 | 0x34 | "4" | 1 |
| content-range | 53 | 0x35 | "5" | 1 |
| cookie | 54 | 0x36 | "6" | 1 |
| etag | 55 | 0x37 | "7" | 1 |
| expect | 56 | 0x38 | "8" | 1 |
| expires | 57 | 0x39 | "9" | 1 |
| from | 97 | 0x61 | "a" | 1 |
| if-match | 98 | 0x62 | "b" | 1 |
| if-modified-since | 99 | 0x63 | "c" | 1 |
| if-none-match | 100 | 0x64 | "d" | 1 |
| if-range | 101 | 0x65 | "e" | 1 |
| if-unmodified-since | 102 | 0x66 | "f" | 1 |
| last-modified | 103 | 0x67 | "g" | 1 |
| link | 104 | 0x68 | "h" | 1 |
| location | 105 | 0x69 | "i" | 1 |
| max-forwards | 106 | 0x6A | "j" | 1 |
| proxy-authenticate | 107 | 0x6B | "k" | 1 |
| proxy-authorization | 108 | 0x6C | "l" | 1 |
| range | 109 | 0x6D | "m" | 1 |
| referer | 110 | 0x6E | "n" | 1 |
| refresh | 111 | 0x6F | "o" | 1 |
| retry-after | 112 | 0x70 | "p" | 1 |
| set-cookie | 113 | 0x71 | "q" | 1 |
| strict-transport-security | 114 | 0x72 | "r" | 1 |
| transfer-encoding | 115 | 0x73 | "s" | 1 |
| vary | 116 | 0x74 | "t" | 1 |
| via | 117 | 0x75 | "u" | 1 |
| www-authenticate | 118 | 0x76 | "v" | 1 |
This documentation is Copyright (c) 2020 Alexander Williams, On-Prem <license@on-premises.com>, and licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) license.

+ 15
- 39
protocols/STOMP.md View File

@ -1,48 +1,24 @@
# STOMP
List of assigned commands and headers for [STOMP](https://stomp.github.io/stomp-specification-1.2.html).
## Commands
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| CONNECT | 97 | 0x61 | "a" | 0 |
| STOMP | 98 | 0x62 | "b" | 0 |
| CONNECTED | 99 | 0x63 | "c" | 0 |
| SEND | 100 | 0x64 | "d" | 0 |
| SUBSCRIBE | 101 | 0x65 | "e" | 0 |
| UNSUBSCRIBE | 102 | 0x66 | "f" | 0 |
| ACK | 103 | 0x67 | "g" | 0 |
| NACK | 104 | 0x68 | "h" | 0 |
| BEGIN | 105 | 0x69 | "i" | 0 |
| COMMIT | 106 | 0x6A | "j" | 0 |
| ABORT | 107 | 0x6B | "k" | 0 |
| DISCONNECT | 108 | 0x6C | "l" | 0 |
| MESSAGE | 109 | 0x6D | "m" | 0 |
| RECEIPT | 110 | 0x6E | "n" | 0 |
| ERROR | 111 | 0x6F | "o" | 0 |
| AUTH | 112 | 0x70 | "p" | 0 |
| PING | 113 | 0x71 | "q" | 0 |
| CHALLENGE | 114 | 0x72 | "r" | 0 |
| PONG | 115 | 0x73 | "s" | 0 |
List of assigned headers for [STOMP](https://stomp.github.io/stomp-specification-1.2.html).
## Headers
| Name | Decimal | Hex | UTF-8 | BOAWP Version |
| :---- | :----: | :----: | :----: | :----: |
| ack | 82 | 0x52 | "R" | 0 |
| destination | 83 | 0x53 | "S" | 0 |
| heart-beat | 84 | 0x54 | "T" | 0 |
| id | 85 | 0x55 | "U" | 0 |
| login | 86 | 0x56 | "V" | 0 |
| message | 87 | 0x57 | "W" | 0 |
| message-id | 88 | 0x58 | "X" | 0 |
| passcode | 89 | 0x59 | "Y" | 0 |
| receipt | 90 | 0x5A | "Z" | 0 |
| receipt-id | 48 | 0x30 | "0" | 0 |
| session | 49 | 0x31 | "1" | 0 |
| subscription | 50 | 0x32 | "2" | 0 |
| transaction | 51 | 0x33 | "3" | 0 |
| version | 52 | 0x34 | "4" | 0 |
| ack | 82 | 0x52 | "R" | 1 |
| destination | 83 | 0x53 | "S" | 1 |
| heart-beat | 84 | 0x54 | "T" | 1 |
| id | 85 | 0x55 | "U" | 1 |
| login | 86 | 0x56 | "V" | 1 |
| message | 87 | 0x57 | "W" | 1 |
| message-id | 88 | 0x58 | "X" | 1 |
| passcode | 89 | 0x59 | "Y" | 1 |
| receipt | 90 | 0x5A | "Z" | 1 |
| receipt-id | 48 | 0x30 | "0" | 1 |
| session | 49 | 0x31 | "1" | 1 |
| subscription | 50 | 0x32 | "2" | 1 |
| transaction | 51 | 0x33 | "3" | 1 |
| version | 52 | 0x34 | "4" | 1 |
This documentation is Copyright (c) 2020 Alexander Williams, On-Prem <license@on-premises.com>, and licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) license.

Loading…
Cancel
Save