Sha256: f206838d10bf3ac98cc252217a5558f9b6ed781aa1721163ee08af213c75e9da

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

require 'netscaler/adapter'
require 'rest-client'
require 'json'

module Netscaler
  class HttpAdapter < Adapter
    def initialize(args)
      @site = RestClient::Resource.new(args[:hostname], {
        :user       => args[:username],
        :password   => args[:password],
        :verify_ssl => args[:verify_ssl]
      })
    end

    def post_no_body(part, data, args={})
      url = get_uri(part)
      options = prepare_options(args)
      options[:content_type] = 'application/x-www-form-urlencoded'

      post_data = prepare_payload(data)
      @site[url].post post_data, options
    end

    def post(part, data, args={})
      url = get_uri(part)
      options = prepare_options(args)
      options[:content_type] = 'application/x-www-form-urlencoded'

      post_data = prepare_payload(data)
      @site[url].post post_data, options do |response, request, result|
        return process_result(result, response)
      end
    end

    def get(part, args={})
      url = get_uri(part)
      options = prepare_options(args)

      @site[url].get options do |response, request, result|
        return process_result(result, response)
      end
    end

    def delete(part, args={})
      url = get_uri(part)
      options = prepare_options(args)

      @site[url].delete options do |response, request, result|
        return process_result(result, response)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
netscaler-0.3.2 lib/netscaler/http_adapter.rb
netscaler-0.3.1 lib/netscaler/http_adapter.rb
netscaler-0.3.0 lib/netscaler/http_adapter.rb