Tag: hapijs

用hapi随时编译coffeescript?

是否有一个hapi的插件,可以根据需要将coffeescript编译成JS? 我知道连接咖啡脚本和咖啡中间件 ,只是寻找与hapi,我相信不是build立在连接上的作品。

如何使每个用户基地logging与hapi js

我正在使用winston日志logging框架和日志级别的基础上login,但现在我正面临着追踪错误的困难。 所以我们决定根据每个用户进行日志logging,这是我遇到问题的地方。 我想达到什么目的? 每个用户的日志文件将在每个小时生成一次。 (我们可以跳过这个线程中的每个小时的约束),每个用户都有唯一的标识符“uid”。 我拥有的? 我遵循这里使用的架构“ https://github.com/agendor/sample-hapi-rest-api ”。 一些额外的lib模块也存在。 目前我正在使用winston库(但如果需要,我可以负担得起)。 stream程简介 目前,我只能访问处理函数中的请求对象,但是我想要在DAO,库函数中logging事件(基于每个用户)。 在请求对象的处理函数中,“Uid”对我来说是可用的,因为我把authentication中间件中的uid放在请求中。 我的解决scheme(这不是优雅的) 将请求对象(或唯一的uid)传递给每个函数和日志(使用winston)事件。 自定义传输将决定在哪里(在哪个文件,基于uid)把日志。 当然,这不是一个优雅的方式,因为每个函数都必须有uid参数才能logging事件,这看起来很糟糕。 我想从你那里得到什么? 一个更好的,优雅的方法,也是可扩展的。 相关文章: https : //github.com/hapijs/discuss/issues/51

Hapijs:针对大量并发请求进行性能调优

是否有任何特殊的调整技巧来加强构build在hapijs框架之上的API? 特别是如果你有很多并发请求(+ 10000 /秒)正在访问数据库? 我正在使用PM2以“集群模式”启动我的进程,以便能够对服务器上的不同内核进行负载平衡 我不需要提供静态内容,所以没有apache / nginx代理 更新17:11 运行1000个请求/秒的testing(使用loader.io)会导致这条曲线 – 至今为止。 但我想知道是否还有改进的空间。 (硬件:64GB / 20核心数字海洋液滴)

实验室报告<涵盖所有path的100%覆盖率覆盖率

我有一个testing ,检查服务器是否正确configuration。 服务器和testing的代码都在要点中。 然而,运行lab –environment TEST –verbose –coverage –reporter console –output stdout –reporter html –output coverage给我这个(HTML版本提供): 我想获得这个文件的100%覆盖率。 为了完整起见,我已经包含了代码片段代码: 应用程序/ server.js const initializerNames = ['config', 'db', 'auth'] const Hapi = require('hapi') let server = new Hapi.Server() function applyInitializerToServer (initializerName) { const functor = require('./server/' + initializerName + '.js') const modifiedServer = functor(server) server.log('Setting up initializer for […]

服务器中止SSL握手错误

我无法获得运行在HTTPS工作node.js后面的服务器。 我的目标是让一个Hapi服务器运行一个自签名证书。 这就是我如何生成我的自签名证书: openssl genrsa -out key.pem openssl req -new -key key.pem -out csr.pem openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem rm csr.pem 这是我在Hapi启动服务器的方式: server.connection({ port: 9920, tls: { key: fs.readFileSync(path.resolve(__dirname, './cert/key.pem')), cert: fs.readFileSync(path.resolve(__dirname, './cert/cert.pem')), rejectUnauthorized: false }, routes: { cors: true } }); 为了validation它不是一个Hapi唯一的问题,我证实,这也不能在香草node.js工作: var https = require('https'); var fs […]

不能得到hapi的回复标题工作

我试图让智威汤逊工作,我正在发送令牌回客户的困难。 我试图发送它在头像例子: 例如: jwt res.writeHead(200, { 'content-type': 'text/html', 'authorization': token}); 我正在尝试类似于: reply('Here is token').header({ 'content-type': 'text/html', 'authorization': token}).code(200); 但是我得到一个错误 TypeError:未捕获错误:key.toLowerCase不是函数 不知何故,我找不到如何做到这一点的例子。 我想将令牌发送回头部的“客户端应用程序”,但无法find与hapi做的方式。 任何人有任何线索?

Winston与HAPI日志logging不起作用

我有一个启用Winston日志的项目,该项目使用HAPI。 我有以下代码: logger.js ——— var winston = require('winston'); winston.emitErrs = true; var logger = new winston.Logger({ transports: [ new winston.transports.Console({ level: 'debug', json: false, colorize: true }) ], exitOnError: false }); module.exports = logger; module.exports.stream = { write: function(message, encoding){ logger.info(message); } }; server.js ——— var Hapi = require('hapi'); var logger = require('./conf/logger.js'); var server […]

hapi.js嵌套的插件和文件夹结构

我是hapi新手,在过去的几天里,我一直在尝试不同的项目结构,以便将问题分离开来,并且可以维护代码库,而不会偏离“hapi”方式。 你可以看看这里的文件夹结构。 我的项目由一个简单的RESTful API组成,所以我不需要担心视图,渲染等等。 我最终做了什么,而且我不确定(如果这是愚蠢的 ),是否将整个API逻辑(路由处理,授权,数据库访问等)注册为插件。 这允许我做的是: 轻松地将所有路由加上“/ api / vX /”作为特定API版本的前缀 通过在插件本身中注册一个特定API版本的所有依赖关系(基本上是其他插件)来轻松地交换API版本; 这就是我在标题中所说的“嵌套插件” 我希望能从其他使用hapi的人那里得到一些见解,也许看看他们在用什么,对他们有什么用,什么不用。 另外,嵌套插件“hapi”? 我已经在回购中获得了一些stream行的hapi插件的高峰,我还没有看到人们这样做。 谢谢!

在Hapijs后端处理由Alamofire在Swift中发送的多部分/表单数据请求

我正在使用swift创build一个图像和video上传iOS应用程序。 我正在使用Alamofire库进行networking请求。 下面是用户select图像时快速运行的代码 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { dismissViewControllerAnimated(true, completion: nil) guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else { print("Did not get required image") return } guard let imageData = UIImageJPEGRepresentation(image, 0.8) else { return } Alamofire.upload(.POST, "http://localhost:8101/upload_request", multipartFormData: { multipartFormData in multipartFormData.appendBodyPart(data: imageData, name: "image") }, encodingCompletion: { encodingResult […]

节点 – 检测上传的文件是否为图像 – Hapi.js

我在客户端(React.js)有一个基本的防御检查文件和大小。 由于yser可以更改扩展并上传服务器上的任何文件types,这提供了小的安全性。 我之前在Express.js项目中使用Image Magick进行过这种检查,并且工作得非常好。 这一次,我不需要所有的武器图片magick providesm只需要确保该文件确实是一个图像。 有其他select吗? 如果不是,我最终会使用即时通讯,但真的会很高兴有一个小型库只是这样做。