Server-Sent Events (SSE) parser and serializer
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Upgrade to ocamlformat 0.29.0; fix csvt/sexpt streaming; reformat

- Update .ocamlformat to 0.29.0 across all 591 files
- csvt: reuse single Buffer.t for field reads (no alloc per field)
- sexpt: Obj members decoded from stream into Dict, typed Variant GADT
- Reformat all source files for 0.29.0

+12 -12
+1 -1
.ocamlformat
··· 1 - version = 0.28.1 1 + version = 0.29.0
+11 -11
lib/sse.mli
··· 12 12 {2 Client (parsing from a byte reader)} 13 13 14 14 {[ 15 - let parser = Sse.Parser.create () in 16 - let reader = Bytes.Reader.of_string stream_data in 17 - let events = Sse.Parser.read parser reader in 18 - List.iter 19 - (fun e -> 20 - Printf.printf "type=%s data=%s id=%s\n" e.event e.data e.last_event_id) 21 - events 15 + let parser = Sse.Parser.create () in 16 + let reader = Bytes.Reader.of_string stream_data in 17 + let events = Sse.Parser.read parser reader in 18 + List.iter 19 + (fun e -> 20 + Printf.printf "type=%s data=%s id=%s\n" e.event e.data e.last_event_id) 21 + events 22 22 ]} 23 23 24 24 {2 Server (serializing to a byte writer)} 25 25 26 26 {[ 27 - let buf = Buffer.create 256 in 28 - let writer = Bytes.Writer.of_buffer buf in 29 - Sse.Serializer.write_event writer ~event:"update" ~data:"hello" () 30 - (* writer now contains: "event:update\ndata:hello\n\n" *) 27 + let buf = Buffer.create 256 in 28 + let writer = Bytes.Writer.of_buffer buf in 29 + Sse.Serializer.write_event writer ~event:"update" ~data:"hello" () 30 + (* writer now contains: "event:update\ndata:hello\n\n" *) 31 31 ]} 32 32 33 33 {2 References}