[Common Lisp][Drakma] Drakma 使用時の注意事項
はてなと同じ内容だけど Muse で書いて投稿してみるテスト。
Drakma を使うときの注意事項。
- *drakma-default-external-format* で external-format を指定しておく。
- text/* 以外の Content-Type をテキストとして扱いたいときは、*text-content-types* に追加する。
- Content-Length は省略すると文字数でカウントされるため、バイト数で明示的に指定する。かならずしも、そうでもないらしい。。。
(use-package :drakma)
;; UTF-8
(setq *drakma-default-external-format* :utf-8)
;; application/atom+xml をバイナリではなくテキストとして扱う。
(pushnew (cons "application" "atom+xml") *text-content-types*
:test #'equal)
;; Content-Length はバイトサイズで指定する。
(http-request "http://www.example.com/"
:method :post
:content post-data
:content-length (length (sb-ext:string-to-octets
post-data :external-format :utf-8)))
Muse では * が強調指定なのでスペシャル変数がめんどうなことになる。literal タグで囲まないといけない。
<literal>*drakma-default-external-format*</literal>
1 件のコメント:
* のエスケープは
=*drakma-default-external-format*=
でもいいのかな。
コメントを投稿