Sha256: f75d7fdb039d1ca180becf89e2608e57817ff6781058a420488f0a4b4706eff8
Contents?: true
Size: 751 Bytes
Versions: 1
Compression:
Stored size: 751 Bytes
Contents
# frozen_string_literal: true require 'passenger_api/request' require 'passenger_api/version' class PassengerAPI def initialize require 'passenger_api/ext' end def call(env) to_rack_response(call_api(build_argv(Request.new(env)))) end private def build_argv(req) argv = [req.method, req.path] argv << '--data' << req.body unless req.body.empty? argv end def call_api(argv) argv += ['--show-headers'] catch :response do PhusionPassenger::Config::ApiCallCommand.new(argv).run end end def to_rack_response(res) # for Ruby 1.8.7 # headers = res.each_capitalized.to_h headers = {} res.each_capitalized { |n, v| headers[n] = v } [res.code, headers, [res.body]] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
passenger_api-0.1.0 | lib/passenger_api.rb |