UNPKG

miragejs

Version:

A client-side server to help you build, test and demo your JavaScript app

51 lines (45 loc) 1.28 kB
import assert from "../../assert"; import BaseShorthandRouteHandler from "./base"; import Response from "../../response"; import { camelize } from "../../utils/inflector"; /** * @hide */ export default class HeadShorthandRouteHandler extends BaseShorthandRouteHandler { /* Retrieve a model/collection from the db. Examples: this.head('/contacts', 'contact'); this.head('/contacts/:id', 'contact'); */ handleStringShorthand(request, modelClass) { let modelName = this.shorthand; let camelizedModelName = camelize(modelName); assert( modelClass, `The route handler for ${request.url} is trying to access the ${camelizedModelName} model, but that model doesn't exist.` ); let id = this._getIdForRequest(request); if (id) { let model = modelClass.find(id); if (!model) { return new Response(404); } else { return new Response(204); } } else if ( this.options.coalesce && request.queryParams && request.queryParams.ids ) { let model = modelClass.find(request.queryParams.ids); if (!model) { return new Response(404); } else { return new Response(204); } } else { return new Response(204); } } }