Skip to content
This repository has been archived by the owner on Jun 19, 2019. It is now read-only.

replicon/fortune-json-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fortune JSON API Serializer

Build Status npm Version License

This is a JSON API serializer for Fortune.js, which implements all of the features in the base specification, and follows the recommendations as much as possible. It is tested against Fortune.js version 3.x.

$ npm install fortune-json-api

Usage

const http = require('http')
const fortune = require('fortune')
const jsonApiSerializer = require('fortune-json-api')

// `instance` is an instance of Fortune.js.
const listener = fortune.net.http(instance, {
  serializers: [
    // The `options` object here is optional.
    [ jsonApiSerializer, options ]
  ]
})
// The listener function may be used as a standalone server, or
// may be composed as part of a framework.
const server = http.createServer(listener)

server.listen(8080)

The options object is as follows:

  • prefix: hyperlink prefix, without trailing slash. Default: "" (empty string).
  • inflectType: pluralize the record type name in the URI. Default: true.
  • inflectKeys: camelize the field names per record. Default: true.
  • maxLimit: maximum number of records to show per page. Default: 1000.
  • includeLimit: maximum depth of fields per include. Default: 3.
  • bufferEncoding: which encoding type to use for input buffer fields. Default: base64.
  • jsonSpaces: how many spaces to use for pretty printing JSON. Default: 2.

Internal options:

  • uriTemplate: URI template string.
  • allowLevel: HTTP methods to allow ordered by appearance in URI template.

License

This software is licensed under the MIT license.

About

JSON API serializer for Fortune.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%