Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
Hello guys :D have a silly question I think restify might be listening on the wrong host ? Is there any way to specify this ? It binded to :: instead of localhost restify listening to http://[::]:3998
in ipv6 would be ::1 I think ?
Tri Nguyen
I am trying to use the serveStatic method like so:
server.get(/\/docs\/?.*/, restify.serveStatic({
    directory: './doc',
    default: 'index.html'
however, when I go to https://myapp.com/docs/, I get this error: {"code":"ResourceNotFound","message":"/docs/"}
I think this is because if I don't define file in opts, it defaults to directory + req.path, which becomes doc/docs

this is not the desired behavior, and doesn't seem to be the behavior described in the documentation

The above route and directory combination will serve a file located in ./documentation/v1/docs/current/index.html when you attempt to hit http://localhost:8080/docs/current/.

does anyone know what I need to do to get the behavior that I wanted?
Emem Umoh
@tnguyen14 did you figure it out?
@ememumoh Hi.
Bruno Alexandre
guys, how can I call an endpoint from a function inside restify (so I can re-use the call instead of extracting everything to a method and call the method)
What is the correct way to catch and reformat errors?
Fernando Girotto
Ashish Pai
Hi Everyone,
I want to build a REST based web server. It should be scalable and lightweight. (My app won't be having any front end). Is restify the best choice i've got?
Bruno Alexandre
you can go with restify or express
restify is more if you only target RESTful API's and it's built on top of express anyway :)
Bruno Brant

@ashishpai2 I've faced the same question three times already. There are many options to consider (which, in my book, is a bit unfortunate), and there are tradeoff's to be considered.

Between Restify and Express the choice is somewhat simple: if you only need API, Restify is the best choice. Restify endpoints can be mostly seamlessly ported to Express if you need to change later.

However, both Restify and Express are "unopinionated", meaning, they don't give you any suggestion of structure. You can have all endpoints in a single file for all they care. And so they won't help you add more structure. I'd go with them only on the simplest of projects, and knowing that I may either want to discard them later on or face a real challenge once things start to get more complex.

Alternatives? You should look at Loopback, which seems very mature. There are others which I haven't considered yet, as you can see here: http://nodeframework.com/index.html#rest-api.

Oh, I ended up doing Restify two out of three.
Antonio Cambule
Hi there, i'm new to restify and go through a tutorial http://thejackalofjavascript.com/nodejs-restify-mongolab-build-rest-api/ . I stuck on var client = restify.createJsonClient({
I have an open server and on a second terminal i want to execute a client.js node tells me: TypeError: restify.createJsonClient is not a function.
As I had that problem on the server-side before with other things i found my solution in the restify docs, but on this it seems to be ok. So any hint? Thanks
Antonio Cambule
Ok, after all i found out... clients need restify-clients package now, and they have to be required like this: var restifyClients = require('restify-clients');
new restify web? :grin: .... please help.. where is old documentation? :worried:
Bruno Alexandre
guys, I normally use server.get('/endpoint', callback); but is there a way to have all routes in a file, and in one go "attach" them to the server object? like
const routes = require('/routes');
server.get('/endpoint2', callback); // a normal route
server.routes.attach(routes); // attach all from that routes/index.js file

Dinoloop has been designed from the start for gradual adoption, and you can use as little or as much dinoloop as you need. Perhaps you only want to develop some "REST APIs" using dinoloop and other REST APIs can be developed using expressjs. In this section, we will show how to create dinoloop REST API to an existing express app.

Step 1: Add HomeController (file: home.controller.ts)
import { ApiController, Controller, HttpGet } from 'dinoloop';

export class HomeController extends ApiController {

get(): string {
    return 'Hello World!';

Step 2: Mount dinoloop and bind to express instance (file: app.ts)
const app = express();

// Dino requires express instance and base-uri to which dino will be mounted
const dino = new Dino(app, '/api');

// Dino requires express router too
dino.useRouter(() => express.Router());

// Register controller

// Bind dino to express

// These are your normal express endpoints
app.get('/home', (req, res, next) => {
res.status(200).json('Hello World!');

app.get('/about', (req, res, next) => {
res.status(200).json('Hello World!');

// Start your express app
app.listen(8088, () => console.log('Server started on port 8088'));
Dinoloop is mounted on /api and all of its controller routes/endpoints which are registered with dinoloop are also mounted on /api. Dinoloop will handle those requests which are mounted on /api i.e. /api/home/get, the other end points /home and /about which are created by expressjs are not handled by dinoloop, this way you can slowly migrate your existing express app to dinoloop or you can start writing your new REST APIs using dinoloop.

please find the reference: https://github.com/ParallelTask/dinoloop

i want to create a benchmark to compare between nodejs frameworks, and i need your help (uncompromising)
Marwan Rabbâa
@thangdjw We have a benchmark with many node frameworks https://github.com/the-benchmarker/web-frameworks, if you want to take inspiraton of :stuck_out_tongue: