Tag: hapijs

ngSatellizer和Hapi / Bell不能很好的一起玩。 Promise无法解决的Twitter

我一直在寻找可能的解决scheme,到处都是这个问题,似乎无法拿出任何特别的东西。 从修改我的callback到Hapi的其他各种修补,我无法得到在Angular方面解决的承诺。 奇怪的是,Twitter的popup窗口将不会closures。 如果我手动closures它,那么承诺就会被拒绝。 所以,我必须configuration这个来解决被拒绝的承诺,这只是讨厌的… //Angular Method $scope.addTwitter = function(){ $auth.authenticate('twitter').then(function(res){ // success }, function(res){ // failure }); }; //Hapi Route //Handles both POST and GET and will successfully authenticate for Twitter on /auth/twitter var User = require('../../models/user'); module.exports = { description: 'Twitter oAuth for the front-end.', tags:['twitter'], auth: { strategies: ['twitter'], mode: 'try' }, […]

与服务器build立多个连接有什么意义?

Server对象是主应用程序容器。 服务器pipe理所有传入连接以及框架提供的所有function。 服务器可以包含多个连接(例如,监听端口80和8080)。 与服务器build立多个连接有什么意义? 记忆? 速度? 安全?

为什么hapi.js是特别的?

我正在学习hapi.js,一个node.js框架。 我经历了一些教程,但与其他框架相比,我没有得到hapi的确切特性。 我想知道为什么hapi.js与其他node.js框架相比是特殊的。 任何人都可以帮我吗?

NodeJS&googleapis,POST请求不工作?

我用hapi在NodeJS的google api上遇到了问题。 我用npm install googleapis和google-auth-library下载了文件。 一切安装正确。 function listData(auth) { let webmasters = google.webmasters('v3'); webmasters.searchanalytics.query({ auth: auth, siteUrl: 'http%3A%2F%2Falanmroczek.pl%2F', startDate: "2016-09-20", endDate: "2016-10-14" }, function(err, response) { if (err) { console.log('The API returned an error: ' + err); return; } console.log(response); }); } 我有权通过这个应用程序的范围(如果不是它会引发错误,所以我相信这部分是okey)。 当我完成列出我的Gmail文件夹,它完美的作品。 错误可能只是这部分代码或googleapis。 对我来说奇怪的是: 当我console.log请求谷歌API: protocol: 'https:', slashes: true, auth: null, host: 'www.googleapis.com', […]

无法访问单独的路由文件中的server.app.db

我的问题是:如何在我的路由文件逻辑区域访问我的server.app.db ? 我已经把我的路线分成不同的文件,即。 用户,国家.. 每个路由文件看起来像这样。 'use strict'; module.exports = [ { method: 'GET', path: '/user', config: { auth: 'simple', plugins: {'hapiAuthorization': {role: '…'}}, handler: function (request, reply) { // Logic – I need server.app.db to connect to the database. } } } //.. more routes ]; 在我的server.js文件中,我保存了这样的数据库连接 server.app.db = databaseConnection; 如果我尝试从我的路由文件中的逻辑区域访问server.app.db我的应用程序只是挂起。 问题不是数据库本身,我已经连接到它没有问题从server.js文件。

哈比:如何发送图像

我有一个JPEG图像二进制文件,我怎样才能使用Hapi来显示图像? 我的代码只显示垃圾给API的最终用户。 hapiServer.route({ method: 'GET', path:'/users/{userId}/photo', handler: async function (request, reply) { const userId = parseInt(encodeURIComponent(request.params.userId)); const photo = getImageBinary(userId); reply(photo); } });

Hapijs上的angular度代码,由视图引擎的nodejs的手柄

虽然在hapi做了api之后。 我决定在hapijs的文件夹结构中创build一个视图文件来呈现html文件。 我已经在hapijs上使用了handlebars引擎和Vision支持库来显示html文件。 一切正常,当我运行正常的HTML代码,但是当我使用angular码,它给出了一些parsing错误。 我认为有可能是视图引擎句柄问题。 请帮忙 当我运行节点服务器并点击视图调用的path时,这是错误的 Error: Parse error on line 144: … <td> {{(titleData.Success ———————–^ Expecting 'ID', 'STRING', 'NUMBER', 'BOOLEAN', 'UNDEFINED', 'NULL', 'DATA', got 'OPEN_SEXPR': Parse error on line 144: … <td> {{(titleData.Success // HTML代码在这里 <div class="table-responsive" ng-controller="titleController"> <h4 align="center">Title Data</h4> <table ng-init="titleData.total = {}" class="table table-condensed" border="1"> <thead> <tr> <th>#</th> <th colspan="2"><center>SeWise</center></th> […]

用hapijs做一个基本的路由filter

我是新来的nodejs,我正在做一个API与hapijs来处理一些function从mi网站,我想能够使一个基地url像API / *,并使所有其他url的API /通过通过一些validation,但只做一次,这是我到目前为止: server.route([ { method: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], path: "/api/*", handler: function(request, reply){ is_authorized = auth(request.raw.req.headers['Authorization']); if(!is_authorized){ reply(response.generate_json(null, 'no autorizado', 'UNAUTHORIZED')).code(401); } } } ]); 但它不工作,当我打电话任何其他url像API /套接字/无论它只是通过,即使它没有授权….有没有什么办法,我可以实现这个在hapijs?

多部分HTTP响应

目标是让Node.js / hapi API服务器响应浏览器的AJAX请求,其中包含两件事: 媒体文件(例如图像) 包含有关该文件的元数据的JSON对象 这是两个单独的项目,因为二进制数据不能轻易存储在JSON中。 否则,这将是一个单一的资源。 尽pipe如此,最好是单方面回复。 我们用multipart/form-data在一个请求中上传这些multipart/form-data 。 在这种情况下,浏览器提供了一个内置的机制来序列化主体,大多数服务器端框架知道如何parsing它。 但是,如何在相反的方向上做出同样的回应呢? 也就是说,服务器应该如何序列化主体以将其传输到客户端? 从我所知道的, multipart/mixed可能是一个有用的内容types。 但是很less有人谈论这个。 大多数人似乎都提供了两个单独的GET路线,每个路线一个。 我不喜欢这样做,因为这会让你受到比赛条件的影响。 我错过了什么? 另见我在hapijs的讨论/讨论#563 。

如何使用节点和hapi在同一端口上运行多个服务器标签?

我试图在同一个节点代码堆栈上托pipeapi和web服务器。 我已经使用标签为了独立应用configuration到每台服务器,但只有一台服务器的作品。 以下是代码: var hapi = require('hapi'); // server definition var server = new hapi.Server(); var runningPort = process.env.PORT || 3000; // setting up connection server.connection({ host: '0.0.0.0', port: runningPort, labels: ['api'] }); server.connection({ host: '0.0.0.0', port: runningPort, labels: ['web'] }); var webServer = server.select('web'); var apiServer = server.select('api'); // registering view engine webServer.views({ engines: […]