Sha256: 1eb6664f9f5d728fcce91b4dfa80c8a22b9b39bfd86c9d7179941a8eb5143e8c

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

class GcxApi::Cas

  def initialize(username = GcxApi.cas_username, password = GcxApi.cas_password)
    @username = username
    @password = password
  end

  def get_cas_service_ticket(service_url)
    parameters = {username: @username,
                  password: @password}
    location = RestClient::Request.execute(:method => :post, :url => GcxApi.cas_url + "/cas/v1/tickets", :payload => parameters, :timeout => -1) { |res, request, result, &block|
                                            # check for error response
                                            if res.code.to_i == 400
                                              raise res.inspect
                                            end
                                            res
    }.headers[:location]

    parameters = {service: service_url}
    ticket = RestClient::Request.execute(:method => :post, :url => location, :payload => parameters, :timeout => -1) { |res, request, result, &block|
                                          # check for error response
                                          if res.code.to_i != 200
                                            raise res.inspect
                                          end
                                          res
    }.to_str
    ticket
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gcx_api-0.0.3 lib/gcx_api/cas.rb
gcx_api-0.0.2 lib/gcx_api/cas.rb
gcx_api-0.0.1 lib/gcx_api/cas.rb