From 4170455934d829f081b8790385f55e206d8ffbce Mon Sep 17 00:00:00 2001 From: Kris Zyp Date: Wed, 18 Aug 2010 10:51:04 -0600 Subject: [PATCH] Remove unnecessary logic --- lib/jsgi/media.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/jsgi/media.js b/lib/jsgi/media.js index fdbfc74..6459f38 100644 --- a/lib/jsgi/media.js +++ b/lib/jsgi/media.js @@ -90,7 +90,8 @@ function Deserialize(mediaSelector, nextApp){ function Serialize(mediaSelector, nextApp){ return function(request){ return when(nextApp(request), function(response){ - if(response.body === undefined){ + var body = response.body; + if(body === undefined){ if(request.method === "GET"){ response.status = 404; response.body = request.pathInfo + " not found"; @@ -102,22 +103,19 @@ function Serialize(mediaSelector, nextApp){ return response; } } - var responseMedia = mediaSelector(response.body, request.headers["accept"]); + var headers = response.headers; + var responseMedia = mediaSelector(body, request.headers["accept"]); if(!responseMedia){ //TODO: List acceptable media types return {status: 406, headers: {}, body:["The Accept header did not contain an acceptable media type"]}; } - var headers = response.headers; headers.vary = (headers.vary ? headers.vary + "," : "") + "Accept" + request.variedOn; - if (!headers["content-type"] || headers['content-type']!=responseMedia.mediaType) { - headers["content-type"] = responseMedia.media.mediaType + "; charset=UTF-8"; - var body = response.body; - var schema = body && body.schema; - if(schema && schema.schema){ - headers["content-type"] += "; profile=" + request.scriptName + "/Class/" + schema.schema.getId(schema); - } - response.body = responseMedia.media.serialize(body, responseMedia.parameters, request, response); + headers["content-type"] = responseMedia.media.mediaType + "; charset=UTF-8"; + var schema = body && body.schema; + if(schema && schema.schema){ + headers["content-type"] += "; profile=" + request.scriptName + "/Class/" + schema.schema.getId(schema); } + response.body = responseMedia.media.serialize(body, responseMedia.parameters, request, response); return response; }); };