11require 'json'
2- require 'rest_client'
2+ require "uri"
3+ require "net/https"
34
45module Codacy
56 module ClientAPI
@@ -29,24 +30,26 @@ def self.post_results(parsed_result)
2930 end
3031 end
3132
32- def self . send_request ( url , request , project_token , redirects = 3 )
33- RestClient . post (
34- url ,
35- request ,
36- 'project_token' => project_token ,
37- :content_type => :json
38- ) do |resp , req , result , &block |
39- if [ 301 , 302 , 307 ] . include? resp . code and redirects > 0
40- redirected_url = resp . headers [ :location ]
41- send_request ( redirected_url , req , project_token , redirects - 1 )
42- else
43- resp . return! ( req , result , &block )
44- end
33+ def self . send_request ( url , content , project_token , redirects = 3 )
34+ uri = URI . parse ( url )
35+ http = Net ::HTTP . new ( uri . host , uri . port )
36+ request = Net ::HTTP ::Post . new ( uri . path )
37+ http . use_ssl = true
38+ request [ "project_token" ] = project_token
39+ request [ "Content-Type" ] = "application/json"
40+ request . body = content
41+ response = http . request ( request )
42+
43+ if [ 301 , 302 , 307 ] . include? response . code . to_i and redirects > 0
44+ redirected_url = response . headers [ :location ]
45+ send_request ( redirected_url , content , project_token , redirects - 1 )
46+ else
47+ response . body
4548 end
4649 end
4750
4851 def self . logger
4952 Codacy ::Configuration . logger
5053 end
5154 end
52- end
55+ end
0 commit comments