xref: /inferno-os/appl/svc/webget/message.m (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1Message: module
2{
3	PATH:	con "/dis/svc/webget/message.dis";
4
5	init: fn(bufio: Bufio, smod: String);
6
7	Nameval: adt {
8		name: string;
9		value: string;
10	};
11
12	Msg: adt {
13		prefixline: string;
14		prefixbytes: array of byte;
15		fields: array of Nameval;
16		body: array of byte;
17		bodylen: int;
18
19		readhdr: fn(io: ref Bufio->Iobuf, withprefix: int) : (ref Msg, string);
20		readbody: fn(m: self ref Msg, io: ref Bufio->Iobuf) : string;
21		writemsg: fn(m: self ref Msg, io: ref Bufio->Iobuf) : string;
22		header: fn(m: self ref Msg) : string;
23		addhdrs: fn(m: self ref Msg, hdrs: list of Nameval);
24		newmsg: fn() : ref Msg;
25		fieldval: fn(m: self ref Msg, name: string) : (int, string);
26		update: fn(m: self ref Msg, name, value: string);
27	};
28};
29