Browse code

tsv and slip

AC75093375 authored on 29/05/2017 at 15:59:05
Showing 5 changed files
... ...
@@ -8,7 +8,7 @@ A legacy [tribune](../tribune.md) is a /customary standard/. It has a least a [b
8 8
 Most alive tribunes add features:
9 9
 
10 10
 - integrated coincoin
11
-- TSV backend
11
+- [TSV backend](./tsv_backend.md)
12 12
 - X-Post-ID
13 13
 - new posts returned on POST request
14 14
 - file upload
15 15
\ No newline at end of file
... ...
@@ -1,6 +1,6 @@
1 1
 # SBML
2 2
 
3
-Slipped Bouchot Markup Language is a variant of [BML](./legacy_bml.md) used in [XML backend](./xml_backend.md).
3
+[Slipped](/slip.md) Bouchot Markup Language is a variant of [BML](./legacy_bml.md) used in [XML backend](./xml_backend.md).
4 4
 
5 5
 SBML can be raw or encoded.
6 6
 
7 7
new file mode 100644
... ...
@@ -0,0 +1,37 @@
0
+# TSV backend
1
+
2
+A [TSV](https://en.wikipedia.org/wiki/Tab-separated_values) backend:
3
+
4
+- served with HTTP Content-Type: text/tab-separated-values.
5
+- without header.
6
+- with a fixed list of fields
7
+
8
+Each line looks like:
9
+
10
+```
11
+${id}\t${time}\t${info}\t${login}\t${message}\n
12
+```
13
+
14
+## id
15
+
16
+Technical post numeric identifier.
17
+
18
+## time
19
+
20
+Date and time of post in yyyyMMddHHmmss format.
21
+
22
+## info
23
+
24
+Free text related to posting [moule](../moules.md). Usually nickname or browser [User Agent](https://en.wikipedia.org/wiki/User_agent).
25
+
26
+This field is stripped from any space character other than [SPACE](http://www.fileformat.info/info/unicode/char/0020/index.htm).
27
+
28
+## login
29
+
30
+Optional authenticated  user login.
31
+
32
+This field is stripped from any space character other than [SPACE](http://www.fileformat.info/info/unicode/char/0020/index.htm).
33
+
34
+## message
35
+
36
+Message body in [BML](./bml.md) stripped from any space character other than [SPACE](http://www.fileformat.info/info/unicode/char/0020/index.htm).
0 37
\ No newline at end of file
1 38
new file mode 100644
... ...
@@ -0,0 +1,3 @@
0
+# Slip
1
+
2
+Sanitization component of [bouchots](/bouchot.md) and [coincoins](/coincoin.md).
0 3
\ No newline at end of file
... ...
@@ -14,3 +14,9 @@ Two tribune generations exist:
14 14
 Every strings in every tribunes and subsystems MUST be valid UTF-8.
15 15
 
16 16
 [Bouchot](/bouchot.md) SHOULD be prepared to handle invalid UTF-8 strings.
17
+
18
+## Sanitization
19
+
20
+[Bouchot](/bouchot.md) and [Coincoin](/coincoin.md) MUST be prepared invalid tribune data.
21
+
22
+They MUST [sanitize](/slip.md) their inputs or die trying.
17 23
\ No newline at end of file