   [data _]
   (sz/encode data :transit+json))
 
-(defmethod decode :default
-  [_ _]
-  nil)
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Implementation
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defn- get-content-type
-  [^TypedData body]
-  (let [^String content-type (.. body getContentType getType)]
+  [context]
+  (let [^TypedData body (:body context)
+        ^String content-type (.. body getContentType getType)]
     (when content-type
       (keyword (.toLowerCase content-type)))))
 

  "A postal protocol implementation on top of http."
  (:require [catacumba.serializers :as sz]
            [catacumba.http :as http]
            [manifold.deferred :as md]
            [promissum.core :as p]
            [cats.core :as m]
            [cats.monad.exception :as exc])
  (:import ratpack.http.TypedData
           java.util.concurrent.CompletableFuture))


          (encode content-type)
          (frame->http content-type)))))

(defn- get-incoming-data
  [context]
  (if (= (:method context) :get)
    (let [data (get-in context [:query-params :d] nil)]
      (codecs/safebase64->bytes data))
    (.getBytes ^TypedData (:body context))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Public Api
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
