<meta charset="utf-8"><div class="gmail_quote">On Wed, Oct 6, 2010 at 7:44 PM, Greg Hendershott <span dir="ltr">&lt;<a href="mailto:greghendershott@gmail.com">greghendershott@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
 <br>Is this something where it&#39;s considered OK for everyone who wants it,<br>to code it up themselves?  (Have all of you in fact already done this,<br>had this supposed epiphany and graduated beyond it years ago? :) )  Or<br>
is worth me putting something like this on GitHub or Planet? Is it<br>even something to consider for Racket itself someday, considering how<br>more consistency could make Racket even more appealing for web dev?<br></blockquote>
</div><br><br><div>As Neil pointed out this will be good to be published onto planet. <div><br></div><div>I did look at a superset of this problem before (trying to parse, represent, and generate MIME) and it was quite a complex effort with numerous of RFC to read, etc.  I ended up with just trying to get the parsing/generation right without developing a MIME-expr to go with it yet - it&#39;s on planet as mime.plt if that might be of interest for you to look at. </div>
<div><br></div><div>Although I didn&#39;t develop the MIME-expr yet, I did look at it from compatibility perspective against xexpr, and the first thing that I came across (and you might run into it) is that xexpr will not be able to represent MIME without modifications, specifically with the following: </div>
<div><ol><li>bytes - since many files are binary instead of text, you will want to allow for bytes </li><li>ports - if you allow for bytes, then allowing for ports will also make sense, especially for large files </li><li>
specific structs - header infos might be best represented as a structure (the best example being cookies), and you might want to allow that </li></ol></div><div>While HTTP messages are not the same as MIME, they share quite a bit of commonality and the above will apply.  And depending on whether you want to support HTTP/1.1, you might have to deal with the concept of chunked transfers in your representation. </div>
<div><br></div><div>Hope this helps as a starting point.  Cheers,</div><div>yc</div><div><div class="gmail_quote"><br></div>
</div></div>