WebgetUtils: module { PATH: con "/dis/svc/webget/wgutils.dis"; Req: adt { index: int; method: string; bodylen: int; reqid: string; loc: string; types: string; cachectl: string; auth: string; body: array of byte; url: ref Url->ParsedUrl; reply: ref Message->Msg; }; Fid: adt { fid: int; link: cyclic ref Fid; reqs: array of ref Req; writer: int; readr: int; nbyte: int; nread: int; rc: Sys->Rread; }; M: Message; B: Bufio; S: String; U: Url; # media types (must track mnames array in wgutils.b) UnknownType, TextPlain, TextHtml, ApplPostscript, ApplRtf, ApplPdf, ImageJpeg, ImageGif, ImageIef, ImageTiff, ImageXCompressed, ImageXCompressed2, ImageXXBitmap, AudioBasic, VideoMpeg, VideoQuicktime, Soap, TextXml: con iota; init : fn(m: Message, s: String, b: Bufio, u: Url, logfd: ref Sys->FD); usererr: fn(r: ref Req, msg: string) : ref Message->Msg; okprefix: fn(r: ref Req, mrep: ref Message->Msg); getdata: fn(io: ref Bufio->Iobuf, m: ref Message->Msg, accept: string, url: ref Url->ParsedUrl) : string; fixaccept: fn(a: string) : string; log: fn(c: ref Fid, msg: string); };