Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
fortune-micro-api
Advanced tools
This is a Micro API serializer for Fortune.js, which is compatible with the specification as of 2017-04-25.
$ npm install fortune fortune-http fortune-micro-api
const http = require('http')
const fortune = require('fortune')
const fortuneHTTP = require('fortune-http')
const microApiSerializer = require('fortune-micro-api')
const options = {
entryPoint: 'http://example.com',
externalContext: '/context.jsonld'
}
// `instance` is an instance of Fortune.js.
const listener = fortuneHTTP(instance, {
serializers: [
// The `options` object here is required.
[ microApiSerializer, options ]
]
})
// The listener function may be used as a standalone server, or
// may be composed as part of a framework.
const server = http.createServer((request, response) =>
// When an external context is set, it should be handled externally.
(request.url.indexOf(options.externalContext) === 0 ?
microApiSerializer.showExternalContext(response, options) :
listener(request, response))
.catch(error => { /* error logging */ }))
server.listen(8080)
The options
object is as follows:
entryPoint
: URI to the entry point. Required.externalContext
: refer to the @context
instead of embedding. Recommended. This requires some additional setup, so it's disabled by default. This should be valued by a URI to the external context.inflectType
: convert record type name to PascalCase in the payload. Default: true
.reverseFields
: An object keyed by field names, which should use the @reverse
property.contexts
: An array valued by URIs to external contexts.Inherited options:
bufferEncoding
: which encoding type to use for input buffer fields.maxLimit
: maximum number of records to show per page.includeLimit
: maximum depth of fields per include.uriBase64
: encode URIs in base64 to discourage clients from tampering with the URI.castId
: try to cast string IDs to numbers if possible.Instead of using JSON as a serialization format, it can optionally use MessagePack instead, with an unregistered media type application/x-micro-api
. It has the advantage of serializing dates and buffers properly.
const microApiSerializer = require('fortune-micro-api')
// Alternative serializer with unregistered media type.
const microApiMsgPack = microApiSerializer.msgpack
This software is licensed under the MIT license.
FAQs
Micro API serializer for Fortune.
We found that fortune-micro-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.