[Clojure] Ring middleware for JSONP
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/ring/middleware
test/ring/middleware/jsonp
.gitignore
README.md
project.clj

README.md

ring.middleware.jsonp

Installation

Add the following to your project.clj :dependencies:

Clojars Project

Usage

Wrap your Ring application with wrap-json-with-padding and JSON resources will automatically support JSONP.

Example:

(use 'ring.middleware.jsonp 'ring.util.response)

(def app
  (-> (response "{\"result\": 42}")
      (content-type "application/json")
      (constantly)
      (wrap-json-with-padding))) ; <--

(:body (app {}))
; => "{\"result\": 42}"

(:body (app {:params {:callback "f"}}))
; => "f({\"result\": 42});"

Compojure

If you're using Compojure, make sure wrap-json-with-padding is placed above your site handler (if you have one).

Example:

(def app
  (-> app-routes
      (wrap-json-with-padding) ; <--
      (handler/site)
      ...))

License

Copyright (C) 2012–2014 Christoffer Sawicki, Gary Fredericks, Markus Hjort

Distributed under the Eclipse Public License, the same as Clojure.