1.0.0 • Published 9 years ago

gengojs-accept v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

gengojs-accept

Express, Koa, Hapi locale parser that powers gengo.js.

Gitter

Build Status Dependency Status License Status Downloads Version

This module parses the accept-language header from Express, Koa, or Hapi and returns the appropriate locale.

Documentation

See the beautifully generated documenation at GitHub.

Usage

$ npm i --save gengojs-accept

Express

import express from 'express';
import accept from 'gengojs-accept/express';

let app = express();

app.use(accept());

app.use('/', function(req, res, next){
	console.log(req.getLocale());
});

// ...

Hapi

import Hapi from 'hapi';
import accept from 'gengojs-accept/hapi';

let server = new Hapi.Server();
server.connection({
	port:3000
})
 
server.register(accept(), function(error){
 	if(error) console.log(error);
});

server.route({
    method: 'GET',
    path: '/',
    handler: function (request, reply) {
        console.log(request.accept.getLocale());
        reply();
    }
});

// ...

Koa

Note: I have not tested Koa's v1.0.0 API but in theory it should work. Please report any bugs if encountered or create a pull request to add tests.

import Koa from 'koa';
import accept from 'gengojs-accept/koa';

let app = new Koa();

app.use(accept());

app.use('/', function (self, next){
	console.log(self.accept.getLocale());
    // or
    console.log(self.request.accept.getLocale());
    // or
    console.log(self.response.accept.getLocale());
});

// ...

Standalone

import accept from 'gengojs-accept';

// pass the request object from express or hapi 
// or the 'ctx'/'self' context from koa;
let currentLocale = accept(req || ctx, options).getLocale();

Options

{
    "check": true,
    "default": "en-US",
    "supported": [
        "en-US"
    ],
    "keys": {
        "cookie": "locale",
        "query": "locale"
    },
    "detect": {
        "header": true,
        "cookie": false,
        "query": false,
        "url": false,
        "domain": false,
        "subdomain": false
    }
}  
1.0.0

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago

0.0.11

9 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago