|
|
| version 1.1, 2026/10/11 20:38:16 | version 1.2, 2026/10/14 23:18:32 |
|---|---|
| Line 1 | Line 1 |
| # ^sse[$.event $.id $.retry $.comment $.data] sends one server-sent event with ^response:send[] | # ^sse[$.event $.id $.retry $.comment $.data] sends one server-sent event with ^response:stream[] |
| @main[] | @main[] |
| $response:charset[windows-1251] | $response:charset[windows-1251] |
| $response:content-type[ $.value[text/html] $.charset[windows-1251] ] | $response:content-type[ $.value[text/html] $.charset[windows-1251] ] |
| Line 26 $msg[^array::create[]] | Line 26 $msg[^array::create[]] |
| ^if(def $event.retry){ ^sse_line[$msg;retry;$event.retry] } | ^if(def $event.retry){ ^sse_line[$msg;retry;$event.retry] } |
| ^if(^event.contains[data]){ ^sse_lines[$msg;data;$event.data] } | ^if(^event.contains[data]){ ^sse_lines[$msg;data;$event.data] } |
| # the empty line ends the event, as-is to avoid optimization | # the empty line ends the event, as-is to avoid optimization |
| ^response:send[^msg.foreach[;line]{${line}^taint[as-is][^#0A]}^taint[as-is][^#0A]] | ^response:stream[^msg.foreach[;line]{${line}^taint[as-is][^#0A]}^taint[as-is][^#0A]] |
| @sse_lines[msg;name;text] | @sse_lines[msg;name;text] |
| ^text.match[(*ANYCRLF)^^(.*)][gm]{^msg.append[${name}: $match.1]} | ^text.match[(*ANYCRLF)^^(.*)][gm]{^msg.append[${name}: $match.1]} |