1725


Common
Lispで[MIME](http://ja.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions)のパース・作成をするライブラリでおすすめのものは何ですか?


CC BY-SA 3.0
2014-12-16T08:15:09.097
1710
2014-12-16T09:21:28.777
2014-12-16T09:08:37.677
3124
3510
question
common-lisp
MIMEのパース・作成をするおすすめのCommon Lispライブラリは？


Quickdocsで検索すると、以下のライブラリがあるようです。

  * [cl-mime](https://github.com/hanshuebner/cl-mime)
  * [mime4cl](http://wcp.sdf-eu.org/software/#mime4cl)

また、汎用的なものではありませんが、HTTPの本文で使われるmultipart/form-dataのパースに限定すればfast-httpが使えます。

[code]

    (ql:quickload '(:fast-http :cl-syntax-interpol :babel))
    (syntax:use-syntax :interpol)
    
    (let ((parser (fast-http:make-multipart-parser "multipart/form-data; boundary=AaB03x"
                                                   (lambda (name headers field-meta body-stream)
                                                     ;; ここにcallback処理を書く
                                                     ))))
      (funcall parser (babel:string-to-octets #?"--AaB03x\r
    Content-Disposition: form-data; name=\"field1\"\r
    \r
    Joe Blow\r\nalmost tricked you!\r
    --AaB03x\r
    Content-Disposition: form-data; name=\"pics\"; filename=\"file1.txt\"\r
    Content-Type: text/plain\r
    \r
    ... contents of file1.txt ...\r\r
    --AaB03x--\r")))
    
[/code]


CC BY-SA 3.0
2014-12-16T09:21:28.777
1725
2014-12-16T09:21:28.777
3124
1710
answer