   (set-status* [^DefaultContext ctx ^long status]
     (set-status* (:response ctx) status))
 
-  Response
-  (set-status* [^Response response ^long status]
+  ResponseMetaData
+  (set-status* [^ResponseMetaData response ^long status]
     (.status response status)))
 
 (extend-protocol IRequest

           ratpack.handling.Context
           ratpack.http.Request
           ratpack.http.Response
           ratpack.http.Headers
           ratpack.http.TypedData
           ratpack.http.MutableHeaders

  (get-cookies* [^Request request]
    (persistent!
     (reduce (fn [acc ^Cookie cookie]
               (let [name (keyword (.getName cookie))]
                 (assoc! acc name (cookie->map cookie))))
             (transient {})
             (into [] (.getCookies request)))))

  (set-cookies* [_ _]
    (throw (UnsupportedOperationException.)))

  ResponseMetaData
  (get-cookies* [_]
    (throw (UnsupportedOperationException.)))

  (set-cookies* [^ResponseMetaData response cookies]
    (loop [cookies (into [] cookies)]
      (when-let [[cookiename cookiedata] (first cookies)]
        (let [^Cookie cookie (.cookie response (name cookiename) "")]
