コード例 #1
0
ファイル: http-apps.js プロジェクト: boxxxie/q-io
 return function (request, response) {
     var header = requestHeader;
     if (typeof header === "function") {
         header = requestHeader(request);
     }
     var accept = request.headers[requestHeader] || "*";
     var type = MIME_PARSE.bestMatch(keys, accept);
     request.terms = request.terms || {};
     request.terms[responseHeader] = type;
     if (Object.has(keys, type)) {
         return Q.when(types[type](request, response), function (response) {
             if (
                 respond !== null &&
                 response &&
                 response.status === 200 &&
                 response.headers
             ) {
                 response.headers[responseHeader] = type;
             }
             return response;
         });
     } else {
         return notAcceptable(request, response);
     }
 };
コード例 #2
0
 return function (request) {
     var accept = request.headers[requestHeader] || "*";
     var type = MimeParse.bestMatch(keys, accept);
     request.terms = request.terms || {};
     request.terms[responseHeader] = type;
     if (Object.has(keys, type)) {
         return Q(types[type]).call(void 0, request)
         .then(function (response) {
             if (
                 respond !== null &&
                 response &&
                 response.status === 200 &&
                 response.headers
             ) {
                 response.headers[responseHeader] = type;
             }
             return response;
         });
     } else {
         return notAcceptable(request);
     }
 };
コード例 #3
0
function negotiate(request, types, header) {
    var keys = Object.keys(types);
    var accept = request.headers[header || "accept"] || "*";
    var best = MimeParse.bestMatch(keys, accept);
    return types[best];
}
コード例 #4
0
ファイル: server.js プロジェクト: iam-ictm/rswiki
server.pre(function _mimeFix (req, res, next) {
  req.headers.accept = mimeparse.bestMatch(['text/plain','text/html','application/json'], req.headers.accept);
  return next();
});