Sha256: 199f2311f023fe5e59fdc41da080715031a28dd72d7206ef1609af90bff76c55

Contents?: true

Size: 1.28 KB

Versions: 15

Compression:

Stored size: 1.28 KB

Contents

require 'sinatra/base'

module Faraday
class LiveServer < Sinatra::Base
  set :environment, :test
  disable :logging
  disable :protection

  [:get, :post, :put, :patch, :delete, :options].each do |method|
    send(method, '/echo') do
      kind = request.request_method.downcase
      out = kind.dup
      out << ' ?' << request.GET.inspect if request.GET.any?
      out << ' ' << request.POST.inspect if request.POST.any?

      content_type 'text/plain'
      return out
    end
  end

  get '/echo_header' do
    header = "HTTP_#{params[:name].tr('-', '_').upcase}"
    request.env.fetch(header) { 'NONE' }
  end

  post '/file' do
    if params[:uploaded_file].respond_to? :each_key
      "file %s %s %d" % [
        params[:uploaded_file][:filename],
        params[:uploaded_file][:type],
        params[:uploaded_file][:tempfile].size
      ]
    else
      status 400
    end
  end

  get '/multi' do
    [200, { 'Set-Cookie' => 'one, two' }, '']
  end

  get '/who-am-i' do
    request.env['REMOTE_ADDR']
  end

  get '/slow' do
    sleep 10
    [200, {}, 'ok']
  end

  get '/204' do
    status 204 # no content
  end

  get '/ssl' do
    request.secure?.to_s
  end

  error do |e|
    "#{e.class}\n#{e.to_s}\n#{e.backtrace.join("\n")}"
  end
end
end

if $0 == __FILE__
  Faraday::LiveServer.run!
end

Version data entries

15 entries across 14 versions & 3 rubygems

Version Path
faraday-0.17.6 test/live_server.rb
faraday-0.17.5 test/live_server.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/faraday-0.17.4/test/live_server.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/faraday-0.17.3/test/live_server.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/faraday-0.17.3/test/live_server.rb
faraday-0.17.4 test/live_server.rb
faraday-0.17.3 test/live_server.rb
tdiary-5.1.0 vendor/bundle/gems/faraday-0.17.1/test/live_server.rb
faraday-0.17.1 test/live_server.rb
faraday-0.9.1 test/live_server.rb
whos_dated_who-0.1.0 vendor/bundle/gems/faraday-0.9.0/test/live_server.rb
whos_dated_who-0.0.1 vendor/bundle/gems/faraday-0.9.0/test/live_server.rb
faraday-0.9.0 test/live_server.rb
faraday-0.9.0.rc7 test/live_server.rb
faraday-0.9.0.rc6 test/live_server.rb