Sha256: 58ba54950a8d18b2ae14014f563044c054c0155f56d8aadff511c4832bf97a90

Contents?: true

Size: 497 Bytes

Versions: 1

Compression:

Stored size: 497 Bytes

Contents

require "sinatra"

class Octogate::Server < Sinatra::Base
  configure :production, :development do
    enable :logging
  end

  post '/:token' do
    unless Octogate.config.token == params[:token]
      status 403
      body "Access forbidden"
      return
    end

    event_name = request.env["HTTP_X_GITHUB_EVENT"]
    case event_name
    when "push"
      event = Octogate::Event::Push.parse(params[:payload])
      Octogate::Client.new(event).request_to_targets
    end

    return
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
octogate-0.1.0 lib/octogate/server.rb