4 - option to keep file content in file (save method?)
5 - save message to file (separate file for headers and content?)
6 - option to move file content to temp file if it grows big enough
8 - bind( $filename ) # discard current content (read file/write lazily)
9 - save( $filename ) # write current content to file and bind()
10 - rename( $filename ) # croak if not bound
11 - close() # in case file handle is open, flush saved content
12 - unbind(keep_content/reset_content/unlink)
14 - bound() # returns the bound filename (or false)
16 - tempfile(template, DIR, SUFFIX, TMPDIR, CLEANUP, LIMIT)
18 - read($offset, $length)
19 - alternative is to expose the IO::Handle interface (IO::String for compat)
21 - content_length # already a method giving access to the Header field
23 - methods to sync header fields and file meta data
30 - state kept to track file binding
37 - interaction with current interface
38 - content_ref modifications problematic
39 - do we implement content_ref at all?
40 - file suffix should stay in sync as the file is encoded/decoded
41 - parts (when does modification happen)
42 - clear; implies unbind(reset_content)
43 - clone; implies unbind(keep_content)?, no shared $fh at least
45 - optionally loaded as HTTP::Message::File (?)
46 - a way to store headers, status line, etc in a file as well?
48 - decode stream (reusable in LWP::Protocol)
49 - registry of encoders for encode/decode
51 - content_charset method (which knows the stuff HTML::Encoding knows)
52 - decoded_content should sniff on content to determine charset
57 - raise HTTP::Response objects as exceptions
62 - deal with charset issues
68 - alternative consumer/producer
70 - put/write/feed, flush, close
72 - http://effbot.org/zone/consumer.htm