imrefazekas / connect-rest

Exceptionally featureful Restful web services middleware for connect node.js
MIT License
100 stars 29 forks source link

Fix 'apikeys' property #33

Closed gglazer closed 8 years ago

gglazer commented 8 years ago

I fixed some typos because the api key management doesn't work properly.

imrefazekas commented 8 years ago

Would you care to share some sample code where connect-rest fails to work properly?

gglazer commented 8 years ago

Of course:

'use strict'

var http = require('http')
var connect = require('connect')
var bodyParser = require('body-parser')

var Rest = require('connect-rest')

// sets up connect and adds other middlewares to parse query, parameters, content and session
// use the ones you need
var connectApp = connect()
    .use(bodyParser.urlencoded({ extended: true }))
    .use(bodyParser.json())

// initial configuration of connect-rest. all-of-them are optional.
// default context is /api, all services are off by default
var options = {
    context: '/api',
    logger: { file: 'mochaTest.log', level: 'debug' },
    apiKeys: [ '849b7648-14b8-4154-9ef2-8d1dc4c2b7e9' ],
    discoverPath: 'discover',
    protoPath: 'proto'
}
var rest = Rest.create(options)

// adds connect-rest middleware to connect
connectApp.use(rest.processRequest())

// defines a few sample rest services
rest.get('/books', functionN0)

function functionN0 (request, content, callback) {
    callback(null, { result: 'ok' })
}

let server = http.createServer(connectApp)
server.listen(8000, function () {
    console.log('Server started succesfully on port 8000...')
})

and finally:

curl -X GET http://localhost:8000/api/books