xref: /inferno-os/appl/svc/webget/wgutils.m (revision fbc1184c08d18d5ac0f8763a058e015e95353341)
137da2899SCharles.ForsythWebgetUtils: module
237da2899SCharles.Forsyth{
337da2899SCharles.Forsyth	PATH: con "/dis/svc/webget/wgutils.dis";
437da2899SCharles.Forsyth
537da2899SCharles.Forsyth	Req: adt
637da2899SCharles.Forsyth	{
737da2899SCharles.Forsyth		index:	int;
837da2899SCharles.Forsyth		method:	string;
937da2899SCharles.Forsyth		bodylen:	int;
1037da2899SCharles.Forsyth		reqid:	string;
1137da2899SCharles.Forsyth		loc:		string;
1237da2899SCharles.Forsyth		types:	string;
1337da2899SCharles.Forsyth		cachectl:	string;
1437da2899SCharles.Forsyth		auth:		string;
1537da2899SCharles.Forsyth		body:	array of byte;
1637da2899SCharles.Forsyth		url:		ref Url->ParsedUrl;
1737da2899SCharles.Forsyth		reply:	ref Message->Msg;
1837da2899SCharles.Forsyth	};
1937da2899SCharles.Forsyth
2037da2899SCharles.Forsyth	Fid: adt
2137da2899SCharles.Forsyth	{
2237da2899SCharles.Forsyth		fid:		int;
2337da2899SCharles.Forsyth		link:		cyclic ref Fid;
2437da2899SCharles.Forsyth		reqs:		array of ref Req;
2537da2899SCharles.Forsyth		writer:	int;
2637da2899SCharles.Forsyth		readr:	int;
2737da2899SCharles.Forsyth		nbyte:	int;
2837da2899SCharles.Forsyth		nread:	int;
2937da2899SCharles.Forsyth		rc:		Sys->Rread;
3037da2899SCharles.Forsyth	};
3137da2899SCharles.Forsyth
3237da2899SCharles.Forsyth	M: Message;
3337da2899SCharles.Forsyth	B: Bufio;
3437da2899SCharles.Forsyth	S: String;
3537da2899SCharles.Forsyth	U: Url;
36*fbc1184cSCharles Forsyth	DI: Dial;
3737da2899SCharles.Forsyth
3837da2899SCharles.Forsyth	# media types (must track mnames array in wgutils.b)
3937da2899SCharles.Forsyth	UnknownType,
4037da2899SCharles.Forsyth	TextPlain, TextHtml,
4137da2899SCharles.Forsyth	ApplPostscript, ApplRtf, ApplPdf,
4237da2899SCharles.Forsyth	ImageJpeg, ImageGif, ImageIef, ImageTiff,
4337da2899SCharles.Forsyth	ImageXCompressed, ImageXCompressed2, ImageXXBitmap,
4437da2899SCharles.Forsyth	AudioBasic,
456e425a9dSCharles.Forsyth	VideoMpeg, VideoQuicktime, Soap, TextXml: con iota;
4637da2899SCharles.Forsyth
47*fbc1184cSCharles Forsyth	init : fn(m: Message, s: String, b: Bufio, u: Url, di: Dial, logfd: ref Sys->FD);
4837da2899SCharles.Forsyth	usererr: fn(r: ref Req, msg: string) : ref Message->Msg;
4937da2899SCharles.Forsyth	okprefix: fn(r: ref Req, mrep: ref Message->Msg);
5037da2899SCharles.Forsyth	getdata: fn(io: ref Bufio->Iobuf, m: ref Message->Msg,
5137da2899SCharles.Forsyth					accept: string, url: ref Url->ParsedUrl) : string;
5237da2899SCharles.Forsyth	fixaccept: fn(a: string) : string;
5337da2899SCharles.Forsyth	log: fn(c: ref Fid, msg: string);
5437da2899SCharles.Forsyth};
55