标签: middleware

HornetQ与ActiveMQ对Qpid的优势

我正在浏览一个开源消息传递软件,经过一些研究,我发现了这三个产品.我已经把这些用于初步测试,让他们处理队列和主题的消息,从我所读到的,所有这三个产品都是大多数公司的开源消息解决方案的好选择.我想知道这些产品可能具有哪些优势?我特别感兴趣的是消息吞吐量,包括持久消息吞吐量,安全性,可伸缩性,可靠性,支持,路由功能,度量和监视等管理选项,以及每个程序在大型业务环境中运行的程度.

activemq-classic middleware jms hornetq qpid

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

API,框架和中间件之间有什么区别?

随便把这个问题放在我脑海里!什么是API,框架和中间件之间的区别?基本上所有这些都为应用程序提供了抽象的低级服务.在那种情况下,为什么dot net称为框架和windows API称为.. API?

windows api frameworks middleware terminology

22
推荐指数
3
解决办法
4万
查看次数

NodeJS + Express:如何保护URL

我正在使用最新版本的NodeJS和ExpressJS(用于MVC).

我通常像这样配置我的休息路径,例如:

app.get('/archive', routes.archive);  
Run Code Online (Sandbox Code Playgroud)

现在我想要保护我的一/admin/*组URL,我的意思是我只需要简单的身份验证,它只是一个草稿.

例如,当用户尝试访问时,/admin/posts在向他发送相应的视图和数据之前,我会检查req.session.authenticated.如果没有定义,我会重定向到登录页面.

登录页面有一个简单的验证表单和一个登录控制器方法:如果用户确实发送了"正确的用户"和"正确的密码",我设置会话变量并对其进行身份验证.

我发现很难或者我不明白的是,在每次/ admin/*路径调用之前,如何实际制作"过滤"代码,我的意思是认证检查.

这与"中间件"快递功能有关吗?

谢谢

authentication middleware login node.js express

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

从快速中间件中排除路由

我有一个节点应用程序像其他微服务前面的防火墙/调度程序一样坐着,它使用如下的中间件链:

...
app.use app_lookup
app.use timestamp_validator
app.use request_body
app.use checksum_validator
app.use rateLimiter
app.use whitelist
app.use proxy
...
Run Code Online (Sandbox Code Playgroud)

但是对于特定的GET路由,我想跳过除rateLimiter和proxy之外的所有路由.他们是否可以使用Rails before_filter设置过滤器:除了/:仅?

javascript middleware node.js coffeescript express

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

如何在LoopBack中使用body-parser?

我看到LoopBack内置了Express 3.x中间件.确实,身体解析器在loopback/node_modules.但我无法弄清楚如何将其用作中间件.我从未使用Express 3.x,所以也许就是这样.require显然,除非我在我的项目中安装body-parser作为依赖项,否则它不起作用.

我该怎么做server.js才能使用body-parser来解析web表单req.params?这就是它的作用,对吧?

middleware node.js express loopbackjs body-parser

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

Express 4中间件错误处理程序未被调用

对于某些页面,我在我的应用程序中有自定义的500,404和403错误处理.因此,例如在数据库查询失败后,我会去:

return next({status: 404, message: 'Record not found'});
Run Code Online (Sandbox Code Playgroud)

要么

return next(new Error('Bad things have happened')});
Run Code Online (Sandbox Code Playgroud)

在我的中间件中,我有一个错误处理程序:

app.use(function (err, req, res, next) {
    // handle error
});
Run Code Online (Sandbox Code Playgroud)

问题是永远不会调用错误处理程序,而是将错误调用堆栈打印到浏览器中.我希望处理程序呈现自定义错误页面.

app.js

var express = require('express')
    , app = express()
    , swig = require('swig')
    , config = require('./lib/config')
    , env = process.env.NODE_ENV || 'development'
    , path = require('path');

config.configure(env);

app.engine('html', swig.renderFile);
app.set('view cache', false);

swig.setDefaults({
    cache: config.get('swigCache')
});

app.set('view engine', 'html');
app.set('views', __dirname + '/lib/views');

require('./lib/util/swig');
require('./lib/initialisers/mongodb')();
require('./lib/initialisers/aws')();
require('./lib/middleware')(app); // first load middleware
require('./lib/routes')(app); …
Run Code Online (Sandbox Code Playgroud)

middleware node.js express

22
推荐指数
6
解决办法
9201
查看次数

Rack中间件中的"env"变量是什么?

我知道Rack中间件过滤器是一个带有初始化和调用方法的Ruby类.我知道call方法采用"env"参数.像这样的东西:

class MyFilter
  def initialize(app)
  end

  def call(env)
  end
end
Run Code Online (Sandbox Code Playgroud)

我的问题是:"env"参数究竟发送给"call"的是什么?这与Rails ENV环境(即开发,测试,生产)相同.

谢谢!

rack middleware ruby-on-rails

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

带有socket.io的React-Redux和Websockets

我是React-Redux技术的新手,我希望你能帮助我实现一些功能.

我想用套接字(socket.io)实现一个聊天应用程序.首先,用户必须注册(我在服务器端使用护照),之后,如果注册成功,则用户必须连接到webSocket.

我认为最好的方法是使用像管道这样的中间件来执行所有操作,并根据什么样的操作获取中间件,做不同的事情.

如果操作类型是AUTH_USER,则创建客户端 - 服务器连接并设置将来自服务器的所有事件.

如果操作类型是MESSAGE向服务器发送消息.

代码片段:

----- socketMiddleware.js ----

import { AUTH_USER,  MESSAGE } from '../actions/types';

import * as actions from 'actions/socket-actions';

import io from 'socket.io-client';

const socket = null;

export default function ({ dispatch }) {

    return next => action => {

        if(action.type == AUTH_USER) {

            socket = io.connect(`${location.host}`);

            socket.on('message', data => {

               store.dispatch(actions.addResponse(action.data));

            });

        }

        else if(action.type == MESSAGE && socket) {

            socket.emit('user-message', action.data);

            return next(action)

        } else {
            return next(action)
        } …
Run Code Online (Sandbox Code Playgroud)

middleware socket.io reactjs redux

21
推荐指数
2
解决办法
9958
查看次数

Laravel:路径中间件和策略之间的区别

我正在使用laravel开发一个应用程序,我意识到可以完成的任务Policy可以完成Middleware.假设我想阻止用户更新路线,如果他/她不是信息的所有者,我可以轻松地从路线检查并且可以从策略中做同样的事情.

所以我的问题是为什么我应该使用policy中间件,反之亦然

php policy middleware laravel

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

如何将中间件放在Node.js/Express.js中自己的文件中

我是整个Node.js的新手,所以我仍然试图了解事物如何"连接".

我正在尝试使用快速表单验证.根据您可以做的文档

app.post( '/user', // Route  
  form( // Form filter and validation middleware
    filter("username").trim()
  ),

  // Express request-handler gets filtered and validated data
  function(req, res){
    if (!req.form.isValid) {
      // Handle errors
      console.log(req.form.errors);

    } else {
      // Or, use filtered form data from the form object:
      console.log("Username:", req.form.username);

    }
  }
);
Run Code Online (Sandbox Code Playgroud)

在App.js. 但是,如果我把类似的东西app.get('/user', user.index);放在一个单独的文件中.我想对验证中间件(或将验证代码放在控制器中)做同样的事情,以便在我开始添加更多页面后更容易概述App.js文件.

有没有办法实现这个目标?

基本上我想把类似的东西 app.get('/user', validation.user, user.index);

middleware node.js express

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