Skip to content

Commit

Permalink
Fix lint issues
Browse files Browse the repository at this point in the history
  • Loading branch information
kjellmorten committed Oct 19, 2017
1 parent 56155ae commit f16b53c
Show file tree
Hide file tree
Showing 3 changed files with 244 additions and 241 deletions.
4 changes: 1 addition & 3 deletions .eslintrc
@@ -1,5 +1,3 @@
{
"config": [
"eslint-config-hapi"
]
"extends": "eslint-config-hapi"
}
59 changes: 31 additions & 28 deletions lib/index.js
@@ -1,13 +1,14 @@
// Load modules
'use strict';

var Hoek = require('hoek');
var Boom = require('boom');
var MediaType = require('media-type');
var Pack = require('../package.json');
// Load modules
const Hoek = require('hoek');
const Boom = require('boom');
const MediaType = require('media-type');
const Pack = require('../package.json');


// Declare internals
var internals = {};
const internals = {};

// Validates accept and content-type headers
internals.onPreHandler = function (request, reply) {
Expand All @@ -21,8 +22,8 @@ internals.onPreHandler = function (request, reply) {
};
// $lab:coverage:on$

if(internals.isntJsonApiRequest(request)) {
return reply.continue();
if (internals.isntJsonApiRequest(request)) {
return reply.continue();
}

/**
Expand All @@ -36,23 +37,23 @@ internals.onPreHandler = function (request, reply) {

//if (!acceptMedia.isValid() || acceptMedia.type !== 'application' || (acceptMedia.suffix !== 'json' && acceptMedia.subtype !== 'json') ) {

//return reply(Boom.badRequest('Invalid `Accept` header. Must be able to accept `application/json` in some form'));
//return reply(Boom.badRequest('Invalid `Accept` header. Must be able to accept `application/json` in some form'));
//}

//if (Object.keys(acceptMedia.parameters).length > 0) {

//return reply(Boom.notAcceptable('Media type parameters not allowed'));
//return reply(Boom.notAcceptable('Media type parameters not allowed'));
//}

var contentType = request.headers['content-type'];
const contentType = request.headers['content-type'];

if (contentType) {
var contentMedia = MediaType.fromString(contentType);
const contentMedia = MediaType.fromString(contentType);

// Ignore charset=UTF-8 media type parameter
// https://github.com/json-api/json-api/issues/837
if (contentMedia.parameters.charset === 'UTF-8') {
delete contentMedia.parameters.charset
delete contentMedia.parameters.charset;
}

//Hapi does not allow application/* w/o json suffix so we don't need to test for it
Expand All @@ -67,47 +68,49 @@ internals.onPreHandler = function (request, reply) {
// Converts Boom errors to json-api format, adds meta info, sets content-type
internals.onPreResponse = function (request, reply) {

var response = request.response;
const response = request.response;

if (request.method === 'options') {
return reply.continue();
}

if(internals.isntJsonApiRequest(request)) {
return reply.continue();
if (internals.isntJsonApiRequest(request)) {
return reply.continue();
}

if (response.isBoom) {
var error = {
const error = {
title: response.output.payload.error,
status: response.output.statusCode,
detail: response.output.payload.message
};
response.output.payload = {
errors: [error],
meta: Hoek.applyToDefaults({id: request.id}, internals.meta)
meta: Hoek.applyToDefaults({ id: request.id }, internals.meta)
};
response.output.headers['content-type'] = 'application/vnd.api+json';
} else {
}
else {
if (response.source) {
response.source.meta = Hoek.applyToDefaults({id: request.id}, internals.meta);
response.source.meta = Hoek.applyToDefaults({ id: request.id }, internals.meta);
}
response.headers['content-type'] = 'application/vnd.api+json';
}
return reply.continue();
};

internals.isntJsonApiRequest = function (request) {
if(!request.headers.accept) {
return true;
}

if (request.headers.accept.indexOf('application/vnd.api+json') === -1) {
return true;
}
if (!request.headers.accept) {
return true;
}

if (request.headers.accept.indexOf('application/vnd.api+json') === -1) {
return true;
}

return false;
}
return false;
};

// Exports

Expand Down

0 comments on commit f16b53c

Please sign in to comment.