Sha256: 242ebd25984b5b22dc81fc041cfc67954e00ad751be21dd9c9db01adef551564

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

require 'patron'
require 'json'

module SSEDAP
  class Client
    @host = "https://ssedap"

    def initialize(host=nil)
      @host = host unless host.nil?
    end

    def authorize(username, password)
      ps = session

      # url encode parameters
      username = CGI::escape username
      password = CGI::escape password

      # make the request
      resp = ps.post("/api/authorize", "username=#{username}&password=#{password}")

      retval = {}
      retval["status"] = resp.status
      retval["data"] = JSON.parse resp.body

      retval
    end

    def userinfo(username, password, lookup)
      ps = session

      # url encode parameters
      username = CGI::escape username
      password = CGI::escape password
      lookup = CGI::escape lookup

      # make the request
      resp = ps.post("/api/userinfo", "username=#{username}&password=#{password}&lookup=#{lookup}")

      retval = {}
      retval["status"] = resp.status
      retval["data"] = JSON.parse resp.body

      retval
    end

    private

    def session
      ps = Patron::Session.new
      ps.timeout = 10
      ps.base_url = @host
      ps.headers['User-Agent'] = 'ssedap/1.0'
      ps.insecure = true # this is decidedly not a best practice

      ps
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ssedap-client-0.0.3 lib/ssedap/client.rb