Sha256: 079ce14fef70c3bfd4aeab359618f88ea60af15e4e610f5a548d952103c3682b
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true require 'sinatra' require "sinatra/silent" require_relative "capybara/convert" require_relative "capybara/runner" module Superbot class Web def initialize @sinatra = Sinatra.new @sinatra.set :bind, "127.0.0.1" @sinatra.set :silent_sinatra, true @sinatra.set :silent_webrick, true @sinatra.set :silent_access_log, false instance = self @sinatra.before do headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, DELETE, OPTIONS' headers['Access-Control-Allow-Origin'] = '*' headers['Access-Control-Allow-Headers'] = 'accept, authorization, origin' end @sinatra.options '*' do response.headers['Allow'] = 'HEAD,GET,PUT,DELETE,OPTIONS,POST' response.headers['Access-Control-Allow-Headers'] = 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Cache-Control, Accept' end @sinatra.get "/__superbot/v1/ping" do "PONG" end @sinatra.post "/__superbot/v1/convert" do converted_script = Superbot::Capybara::Convert.call(request.body.read) instance.capybara_runner.run(converted_script) end end def capybara_runner @capybara_runner ||= Superbot::Capybara::Runner.new end def run! @sinatra.run_async! end def run_async_after_running! Thread.new do @sinatra.run! end loop do break if @sinatra.running? sleep 0.001 end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
superbot-0.1.4.rc2 | lib/superbot/web.rb |
superbot-0.1.4.rc1 | lib/superbot/web.rb |