Module: TeambitionApi::Helpers::Base
- Included in:
- Oauth, Organization
- Defined in:
- lib/teambition_api/helpers/base.rb
Instance Method Summary collapse
Instance Method Details
#get(action, params, server = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/teambition_api/helpers/base.rb', line 7 def get(action, params, server = nil) uri = URI.join(TeambitionApi.config.server, action) unless server.nil? uri = URI.join(server, action) end TeambitionApi.logger.info uri TeambitionApi.logger.info params uri.query = URI.encode_www_form(params) unless params.nil? response = Net::HTTP.get_response(uri) TeambitionApi.logger.info response if response.is_a?(Net::HTTPSuccess) result = JSON.parse(response.body) else result = nil raise InvalidResponseError, "对方服务器无法正常访问,返回代码#{response.code}" end return result end |
#post(action, params, server = nil) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/teambition_api/helpers/base.rb', line 30 def post(action, params, server = nil) uri = URI.join(TeambitionApi.config.server, action) unless server.nil? uri = URI.join(server, action) end TeambitionApi.logger.info uri TeambitionApi.logger.info params request = Net::HTTP::Post.new(uri) request["Content-Type"] = "application/json" request.body = params.to_json response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.ssl_version = :SSLv3 http.request(request) end TeambitionApi.logger.info response.body if response.is_a?(Net::HTTPSuccess) result = JSON.parse(response.body) else result = nil raise InvalidResponseError, "对方服务器无法正常访问,返回代码#{response.code}" end return result end |