标签: restify

你如何发送html与restify

我想为我的一条路线发送简单的html而不是json响应.我尝试设置响应的contentType和header属性,但它似乎没有在标题中设置contentType(浏览器尝试下载文件而不是渲染它).

res.contentType = 'text/html';
res.header('Content-Type','text/html');
return res.send('<html><body>hello</body></html>');
Run Code Online (Sandbox Code Playgroud)

http-headers node.js restify

20
推荐指数
3
解决办法
1万
查看次数

使用RESTify Node.js创建OAuth2.0服务提供程序

我有一个使用node.js和node-restify构建的restful API.我正处于必须保护它的部分.显然,很容易找到如何使用OAuth 2.0作为客户端,但很难找到如何设置提供程序.我想我的谷歌技能不像以前那么好.

有人能指出我从哪里开始?节点是否有基本的OAuth 2.0服务器提供程序库?

如果需要的话我创建自己的库没有问题,但我查看了规范,并且它是一个规范,看起来过于复杂.我认为会有某种教程,网络广播或"你好世界"风格的项目在我身上打破了它.

谢谢你的想法.

node.js oauth-2.0 restify

19
推荐指数
1
解决办法
6664
查看次数

应用程序"appname"无法在打开的班次节点应用程序上启动(端口8080不可用)

我已经用咖啡写了一个节点restify服务器,我似乎无法让它运行.

部署时我收到以下错误:

等待应用程序端口(8080)变得可用...

之后我得到以下错误

应用程序'appname'无法启动(端口8080不可用)

如果coffeescript似乎是问题,那么就有一项工作.我不想改回js.

我的服务器代码是:

restify = require 'restify'
Bunyan = require 'bunyan'

server = restify.createServer
    name: 'APPNAME'
    version: '0.0.1'
    log: Bunyan.createLogger
        name: 'api'
        serializers: 
            req: ()->
                return "bad"

# Usercontroller.access calls a function to process the request
server.post '/user/access', UserController.access

server = create.createServer()
server.listen server_port, ->
    console.log "Http server listening on #{server_port}"
    require('./document')(server.router.mounts, 'restify')
    return
Run Code Online (Sandbox Code Playgroud)

linux node.js coffeescript openshift restify

19
推荐指数
3
解决办法
1万
查看次数

管理Restify中的错误

我如何使用NodeJS的Restify来管理我的Restful服务器构建的所有错误?例如内部错误,数据库错误,验证,必需的参数,未找到,athorizeds ...和uncaughtException并返回自定义响应浏览器?

我如何设计控制器之间的数据和错误份额?

谢谢

node.js restify

16
推荐指数
1
解决办法
5799
查看次数

解决可选的路由参数

嗨我有restify.io的路由问题

似乎restify不像"?"express.js那样支持可选参数.

server.get('/users',function(req,res,next){});
server.get('/users/:id',function(req,res,next{});

// I even tried server.get('/users/',function(req,res,next){});
Run Code Online (Sandbox Code Playgroud)

所以当我跑步时,一切都按预期运作

1

http://localhost/users
Run Code Online (Sandbox Code Playgroud)

这显示了我的所有用户

2

http://localhost/users/1 
Run Code Online (Sandbox Code Playgroud)

它显示id为1的用户

http://localhost/users/ //(note trailing slash)
Run Code Online (Sandbox Code Playgroud)

因找不到资源而失败,因为这个被解释为空参数而不是路由#1

我不想检查每个空参数并重定向或传递给下一个...

这似乎是一个普遍的事情,也应该击中其他人...所以你有什么看法,没有得到404的网址中的训练斜线

routing node.js restify

16
推荐指数
1
解决办法
1万
查看次数

使用NodeJS和Restify重定向客户端

我正在为使用NodeJS,Restify和PassportJS进行身份验证的SPA构建REST后端.除了最后一步之外,一切都正常工作,即将客户端从后端/ login/facebook/callback重定向到应用程序的主页.

我在网上搜索过,发现了很多ExpressJS的答案,但对Node-Restify没什么用处.我已经设法获取了一些代码片段,这就是我现在正在尝试的内容:

app.get('/api/v1/login/facebook/cb', passport.authenticate('facebook', { scope: 'email' }), function(req, res) {
    req.session.user = req.user._id;
    res.header('Location', '/#/home');
    res.send();
});
Run Code Online (Sandbox Code Playgroud)

发送响应但不包括位置标题,并向客户端显示白屏.如何使用Node-Restify API进行正确的重定向?

node.js restify passport.js

14
推荐指数
2
解决办法
1万
查看次数

有没有办法在resrigey中记录控制台中的每个请求?

我正在使用restify构建API,我已经习惯了express.有没有办法restify在控制台中记录每个请求,就像expressapp.use(express.logger('dev'))

node.js express restify

14
推荐指数
3
解决办法
2万
查看次数

如何在扫描gc期间避免快速内存增加?

我有一个建立在restify上的应用程序.我没有内存泄漏,但是我在清除gc期间有大量的内存增长,然后是重量级标记扫描gc并清理内存.

它会影响我的应用程序的性能.

[2268]   266859 ms: Scavenge 61.5 (119.5) -> 46.0 (119.5) MB, 2.2 ms [allocation failure].
[2268]   267084 ms: Scavenge 63.7 (119.5) -> 48.3 (119.5) MB, 6.2 ms [allocation failure].
[2268]   267289 ms: Scavenge 66.0 (119.5) -> 50.6 (119.5) MB, 2.6 ms [allocation failure].
[2268]   267504 ms: Scavenge 68.3 (119.5) -> 52.8 (119.5) MB, 2.4 ms [allocation failure].
[2268]   267700 ms: Scavenge 70.5 (119.5) -> 55.1 (119.5) MB, 2.7 ms [allocation failure].
....

[2268]   275913 ms: Scavenge 154.2 (183.5) -> …
Run Code Online (Sandbox Code Playgroud)

memory garbage-collection node.js node-inspector restify

14
推荐指数
1
解决办法
2785
查看次数

解决不能调用next()的后果

我一直在使用Restify一段时间了.我遇到了一些缺乏的代码,next()我发现我不确定我是否完全理解为什么 next()应该被调用res.send().我明白为什么会在中间件情况下使用它,但对于正常的路由,为什么需要它呢?例如:

server.get('/a/:something/',function(req,res,next) {
    res.send('ok');
});
Run Code Online (Sandbox Code Playgroud)

VS

server.get('/b/:something/',function(req,res,next) {
    res.send('ok');
    return next();
});
Run Code Online (Sandbox Code Playgroud)

如果return next();没有代码,它似乎不会导致错误,并从我能看到的东西开始工作.

node.js restify

13
推荐指数
2
解决办法
7022
查看次数

如何使用Restify的RequestLogger?

RequestLogger

设置填充当前请求ID的子bunyan记录器,以及您定义的任何其他参数.

server.use(restify.requestLogger());
Run Code Online (Sandbox Code Playgroud)

注册插件不会记录请求.

node.js restify bunyan

13
推荐指数
1
解决办法
3939
查看次数