reflected the recent standard changes in the doc
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
useragent "tii/current"
|
||||
proxyhost ""
|
||||
proxyport "0"
|
||||
net_timeout 10000
|
||||
tiix_font "Fira Code"
|
||||
tiix_fontsize "12"
|
||||
tiix_fgcolor "#eee"
|
||||
|
||||
+10
-11
@@ -61,6 +61,11 @@ Response: newline-separated message ID list
|
||||
When a new message is posted to the echo, it gets appended to the end of the
|
||||
corresponding message ID list for this echo.
|
||||
|
||||
The message order in an echo does not always match the timestamp ordering;
|
||||
it is fully up to the client on how to sort the messages internally. The
|
||||
messages are only guaranteed to be saved by the server in the order they
|
||||
arrive onto the server.
|
||||
|
||||
- Listing messages in any amount of echos -
|
||||
|
||||
Request: GET /u/e/echo.1.name/echo.2.name/...
|
||||
@@ -77,7 +82,10 @@ msgid2fromecho2
|
||||
...
|
||||
|
||||
In case of limited request, the offset can be negative. E.g. -10:10 means
|
||||
requesting last 10 messages from the index.
|
||||
requesting last 10 messages from the index. If the offset:limit pair is not
|
||||
valid for a particular echo, all message IDs from this echo are returned.
|
||||
|
||||
The same message ID ordering rule as for /e applies to /u/e as well.
|
||||
|
||||
- Fetching a single message by its ID -
|
||||
|
||||
@@ -90,6 +98,7 @@ Request: GET /u/m/msgid1/msgid2/...
|
||||
Response: newline-separated list of msgid:base64_msgtext
|
||||
|
||||
Here, base64_msgtext is a Base64-encoded Node-to-Point Message (see below).
|
||||
The standardized ID count limit is at most 40 messages per bundle.
|
||||
|
||||
- Posting a message (via POST) -
|
||||
|
||||
@@ -171,14 +180,4 @@ This algorithm must be implemented by every station to generate message IDs:
|
||||
4. Replace all occurrences of + or - with A, and / or _ with z.
|
||||
5. The result of these operations is your ii message ID.
|
||||
|
||||
Implementation notes
|
||||
--------------------
|
||||
* Most HTTP servers are configured to reject long GET lines, so tii passes a
|
||||
limited amount of message IDs to the /u/m endpoints. This behaviour can be
|
||||
configured in the stations.txt file.
|
||||
* The message order in an echo does not always match the timestamp ordering;
|
||||
it is fully up to the client on how to sort the messages internally. The
|
||||
messages are only guaranteed to be saved by the server in the order they
|
||||
arrive onto the server.
|
||||
|
||||
--- Luxferre ---
|
||||
|
||||
+8
-4
@@ -78,8 +78,7 @@ proc url2dict {inputurl} {
|
||||
}
|
||||
|
||||
proc reqresp {host port reqline is_tls encoding} {
|
||||
global sock_response
|
||||
set sock_net_timeout 5000
|
||||
global sock_response net_timeout
|
||||
set sock 0
|
||||
if {$is_tls eq 1} {
|
||||
catch {set sock [::tls::socket -autoservername true -async $host $port]}
|
||||
@@ -109,7 +108,7 @@ proc reqresp {host port reqline is_tls encoding} {
|
||||
}
|
||||
set rcv_end_$sock 0
|
||||
}
|
||||
after $sock_net_timeout "global rcv_end_$sock; set rcv_end_$sock 1"
|
||||
after $net_timeout "global rcv_end_$sock; set rcv_end_$sock 1"
|
||||
vwait rcv_end_$sock
|
||||
catch {close $sock}
|
||||
unset -nocomplain rcv_end_$sock
|
||||
@@ -118,6 +117,7 @@ proc reqresp {host port reqline is_tls encoding} {
|
||||
|
||||
# file download helper
|
||||
proc getfile {url} {
|
||||
global net_timeout
|
||||
set url [regsub -all {([^:])//} $url {\1/}]
|
||||
set urlparts [url2dict $url]
|
||||
set scheme [dict get $urlparts scheme]
|
||||
@@ -156,7 +156,7 @@ proc getfile {url} {
|
||||
https - http {
|
||||
set hs ""
|
||||
while {$hs eq ""} {
|
||||
set hs [::http::geturl $url -binary 1 -keepalive 0 -timeout 10000]
|
||||
set hs [::http::geturl $url -binary 1 -keepalive 0 -timeout $net_timeout]
|
||||
}
|
||||
if {[::http::ncode $hs] eq "200"} {
|
||||
return [::http::data $hs]
|
||||
@@ -369,6 +369,7 @@ set localdb [file join $appdir "tii.db"]
|
||||
|
||||
# populate general HTTP configuration
|
||||
set cfgfile [file join $appdir "config.txt"]
|
||||
set net_timeout 5000
|
||||
if {[file exists $cfgfile]} {
|
||||
set cfg [readfile $cfgfile]
|
||||
if {[dict exists $cfg useragent]} {
|
||||
@@ -380,6 +381,9 @@ if {[file exists $cfgfile]} {
|
||||
if {[dict exists $cfg proxyport]} {
|
||||
::http::config -proxyport [dict get $cfg proxyport]
|
||||
}
|
||||
if {[dict exists $cfg net_timeout]} {
|
||||
set net_timeout [dict get $cfg net_timeout]
|
||||
}
|
||||
}
|
||||
|
||||
if {$argc > 0} {
|
||||
|
||||
@@ -29,6 +29,7 @@ set tiix_linkcolor blue
|
||||
set useragent ""
|
||||
set proxyhost ""
|
||||
set proxyport 0
|
||||
set net_timeout 5000
|
||||
set cfgfile [file join $appdir "config.txt"]
|
||||
if {[file exists $cfgfile]} {
|
||||
set cfg [readfile $cfgfile]
|
||||
@@ -44,6 +45,9 @@ if {[file exists $cfgfile]} {
|
||||
set proxyport [dict get $cfg proxyport]
|
||||
::http::config -proxyport $proxyport
|
||||
}
|
||||
if {[dict exists $cfg net_timeout]} {
|
||||
set net_timeout [dict get $cfg net_timeout]
|
||||
}
|
||||
if {[dict exists $cfg tiix_font]} {
|
||||
set tiix_font [dict get $cfg tiix_font]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user