本を読む

読書やコンピュータなどに関するメモ

compojure.handlerが非推奨になってた

 Clojure言語のメモ。

 以下の文章中で、CompojureとRingは、それぞれRubyでいうところのSinatraとRackに相当するClojureのWebライブラリ/フレームワークです。

 Compojureの1.2.0が、10月1日にリリースされてました。Compojure 1.2では、middleware詰めあわせを定義したcompojure.handlerがDEPRECATED(非推奨)になっていました。コードは残っていますが、メタデータで「deprecated」が指定されています。

 compojure.handlerのレイヤーは、ring-defaultsに移行のようです。たとえば、こういうcompojure.handlerを使ったコードがあるとします。

(require [compojure.handler :as handler])

…

(def app (handler/site route))

 これは今後は、project.cljで:dependenciesにこんな感じで追加したうえで。

[ring/ring-defaults "0.1.2"]

 こうなるようです(ほぼREADMEのまま)。

(require [ring.middleware.defaults :refer :all])

…

(def app (wrap-defaults route site-defaults))

 ただ、Compojure 1.2.0だと、handler/siteでもsite-defautlsでも、なんか静的コンテンツのContents-Type:が自動でoctet-streamになるような。呼び方が悪いのかどうかわかりませんが。とりあえず手元ではring.middleware.file-infoのwrap-file-infoを呼んで対応しました。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/1268-78f91344

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad