zoukankan      html  css  js  c++  java
  • 【中间件】请求时间中间件

    request-time.js

    module.exports = function(opts) {
        var time = opts.time || 100
        return function(req, res, next) {
            var timer = setTimeout(function() {
                console.log(
                    '33[90m%s %s33[39m 33[91mis taking too long!33[39m'
                    , req.method
                    , req.url
                )
            }, time)
    
            var end = res.end
            res.end = function(chunk, encoding) {
                console.log(chunk + '(chunk)' + encoding + '(encoding)')
                res.end = end
                res.end(chunk + '(chunk)', encoding)
                clearTimeout(timer)
            }
            next()
        }
    }

    sample.js

    var connect = require('connect')
    var time = require('./request-time')
    
    var server = connect.createServer()
    
    /**
     * 日志记录
     */
    server.use(connect.logger('dev'))
    
    server.use(time({time: 500}))
    
    server.use(function(req, res, next) {
        if ('/a' == req.url) {
            res.writeHead(200)
            res.end('Fast!')
        } else {
            next()
        }
    })
    
    server.use(function(req, res, next) {
        if ('/b' == req.url) {
            setTimeout(function() {
                res.writeHead(200)
                res.end('Slow!')
            }, 1000)
        } else {
            next()
        }
    })
    
    server.listen(3000)
  • 相关阅读:
    周总结14
    周总结13
    周总结12
    周总结11
    周总结10
    Pytorch实现GCN、GraphSAGE、GAT
    pytorch在损失函数中为权重添加L1正则化
    conda安装虚拟环境或者软件包时一直报错
    各种报错
    Pytorch-torchtext的使用
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3439839.html
Copyright © 2011-2022 走看看