module Php::Httpable
  require 'net/http'

  def request(method, path, options={})
    url = Rails.application.secrets.snap_api_url
    base_uri = "#{url}/api/v1/Admission/School"
    token = Rails.application.secrets.snap_api_secret

    uri = URI.parse(base_uri)
    uri.query = URI.encode_www_form(token: token)
    uri.path += path

    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true unless Rails.env.development?
    request = ::Net::HTTP.const_get(method).new(uri)
    request.body = JSON.dump(options) unless options.nil?
    JSON.parse(http.request(request).body)
  end
end
