我怎样才能让Sinatra存储最后一个请求

时间:2017-12-13 18:56:49

标签: ruby sinatra

这是一个奇怪的问题,但我正在尝试使用Sinatra编写自定义模拟库。我非常喜欢我的图书馆能够存储最后一个请求,但我很难让Sinatra这样做。还有其他人遇到过这个特殊问题吗?在您提出要求之前,使用Webmock不是一种选择。

1 个答案:

答案 0 :(得分:0)

所以我明白了。我刚刚写了一些Rack Middleware来跟踪它。

module MockService
  class StoreLastRequest
    def initialize(app)
      @app = app
    end

    def call(env)
      @@last_request = { method: env['REQUEST_METHOD'], uri: env['REQUEST_URI'] }
      @app.call(env)
    end

    def self.last_request
      @@last_request
    end
  end
end