Sha256: 5ffb5f239cf2e9a19f36a0ef40d37bb951f3346d55d71e7fad48e9ddd2d9c0c9

Contents?: true

Size: 1002 Bytes

Versions: 3

Compression:

Stored size: 1002 Bytes

Contents

#!/usr/bin/env ruby
# encoding: utf-8
#
# This file is part of the clavem gem. Copyright (C) 2013 and above Shogun <shogun@cowtech.it>.
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
#

require "cgi"
require "eventmachine"
require "evma_httpserver"

class ClavemTestServer < EM::Connection
  include EM::HttpServer

  def process_http_request
    query = CGI::parse(@http_query_string)
    url = query["oauth_callback"].first
    token = (query["token"] || []).first
    wait = (query["wait"].first || 0).to_i

    sleep(wait) if wait > 0

    response = EM::DelegatedHttpResponse.new(self)
    response.send_redirect("%s?%s" % [url, token ? "oauth_token=#{token}" : "failure=FAILURE"])
  end
end

["INT", "TERM", "KILL"].each { |signal|
  trap(signal) { EM.stop }
}

EM.run do
  puts "Listening on 0.0.0.0:7779 - Provide a token for a success, otherwise a failure will be triggered."
  EM.start_server("0.0.0.0", 7779, ClavemTestServer)
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
clavem-2.2.1 test_server.rb
clavem-2.2.0 test_server.rb
clavem-2.1.0 test_server.rb