party_cc 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzgwYmRjZmMxY2ViYjY0N2UyNTViOThhNzViNzllMTY2YjhiY2U0OA==
4
+ YzMxNzA3NWRhYTEyZjE4ZTYwNmIyOGE1OThkYmJkNWQ1ZDg1YWE4Zg==
5
5
  data.tar.gz: !binary |-
6
- Njk4MmZjMmFjY2RkNjAyM2E0ODU4NjU3YmE4MzlkMDdjNjRmNjU1MA==
6
+ MGY4ODk0NzI0ODEyMDk2NzUyNWFiODY0OTgzMDkxZTI2MDg2ZGU0ZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZDYwZTgwMjkxMTk5NThlZWFmZDFjNzU3NDdhZTg2MWYyZjViMTZiYmI1MTJj
10
- ODhhZTE2ZWQ5OGQ2NjcwNWJmYjQyYTJmZDVkZGZjMGRlMzI3N2Y3ODc5YTEy
11
- NmI2ZWQzZmVlMjBhOTQ5ODIxOGJmNTVjMTk0ZjQxOWY4Yzc3OGI=
9
+ OGRkYzY2OGJkMDgyY2I1M2U3Yjg0ZjhkODJmNzQyYThjOTY2YmZjNDQ5NGZh
10
+ YzAyMGYwY2ZhODQwNGI4YTcwNzM5YzU3YTU3ODkxODU2M2QxMTFlOGU0NzEx
11
+ MzUzNzZkN2Q3Njc0YzJiODYxM2Y3NDZjM2Y5ZDI4ZDcxYzdlZTM=
12
12
  data.tar.gz: !binary |-
13
- NTIxN2MxZWZiN2RiM2M5MjA1YTY3YWM4ZmNkODNlM2ZlNjAyOTJiODA0NjA2
14
- YjVhN2RmOWJmM2M5ZjZmYmM2NzhjZDUxOGJkODU1ZmM2N2QwMjMyYzYxMWM3
15
- YTVkMjIzY2VhYzRhNmJhNjE0NDgzYjU4YTg3ODUxZjU4MzhkYzU=
13
+ MjNjMTU1M2I4NjBmNjhhZTcxMDU2YTExMmY1YzM4ZDEwZjBiMTI2MjVmYjlh
14
+ Nzg5M2M2ODdkYTlmNmM4ZGMxYjhiYjEwMjU3YzljNGRkMGIzNWRiZTg2YzQy
15
+ NzdhZGQ3ODk1NjEzYzJkNjdhYmRlZTcyYWI5MzY3MjE1ZTQyNTk=
@@ -0,0 +1,44 @@
1
+ module HTTParty
2
+ class << self
3
+ def decode_ruby buffer
4
+ buffer.string
5
+ .gsub('=>', ': ')
6
+ .gsub('nil', 'null')
7
+ end
8
+
9
+ request_methods = ['get', 'post', 'patch', 'put', 'delete', 'head', 'options']
10
+ request_methods.each do |method|
11
+ class_eval <<-EOT, __FILE__, __LINE__ + 1
12
+ alias_method :old_#{method}, :#{method}
13
+
14
+ def #{method} *args
15
+ rsp = old_#{method}(*args)
16
+
17
+ stmp = Time.now.to_i.to_s
18
+ path = Addressable::URI.parse(args[0])
19
+ .path.split('/').join('_').gsub(/^_/,'')
20
+
21
+ file_name = "#{method}_\#{path}_\#{stmp}.txt"
22
+
23
+ req_buffer = StringIO.new
24
+ rsp_buffer = StringIO.new
25
+
26
+ PP.pp(args, req_buffer)
27
+ PP.pp(rsp, rsp_buffer)
28
+
29
+ prettied_req = decode_ruby req_buffer
30
+ prettied_rsp = decode_ruby rsp_buffer
31
+
32
+ File.write("request_\#{file_name}", prettied_req)
33
+ File.open("response_\#{file_name}", 'w') do |f|
34
+ f.write rsp.response.instance_variable_get :@raw_headers
35
+ f.write ''
36
+ f.write prettied_rsp
37
+ end
38
+
39
+ rsp
40
+ end
41
+ EOT
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ class Net::HTTPResponse
2
+ class << self
3
+ alias_method :orig_read_new, :read_new
4
+ def read_new(sock)
5
+ buffer = StringBufferedIO.new
6
+
7
+ loop do
8
+ chunk = sock.readuntil("\n", true)
9
+ buffer.write chunk
10
+ break if chunk.sub(/\s+\z/, '').empty?
11
+ end
12
+
13
+ buffer.rewind
14
+
15
+ httpv, code, msg = read_status_line(buffer)
16
+
17
+ res = response_class(code).new(httpv, code, msg)
18
+ each_response_header(buffer) do |k,v|
19
+ res.add_field k, v
20
+ end
21
+ res.instance_variable_set :@raw_headers, buffer.string
22
+ puts 'set raw'
23
+ res
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ class StringBufferedIO < StringIO
2
+ alias_method :old_readline, :readline
3
+
4
+ def readline
5
+ old_readline.strip
6
+ end
7
+
8
+ def readuntil *args
9
+ old_readline
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module PartyCC
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/party_cc.rb CHANGED
@@ -1,46 +1,12 @@
1
- require "party_cc/version"
2
- require 'httparty'
3
1
  require 'addressable/uri'
4
2
  require 'pp'
3
+ require 'httparty'
4
+ require 'net/http'
5
+ require 'net/https'
5
6
 
6
- module HTTParty
7
- class << self
8
- def decode_ruby buffer
9
- buffer.string
10
- .gsub('=>', ': ')
11
- .gsub('nil', 'null')
12
- end
13
-
14
- request_methods = ['get', 'post', 'patch', 'put', 'delete', 'head', 'options']
15
- request_methods.each do |method|
16
- class_eval <<-EOT, __FILE__, __LINE__ + 1
17
- alias_method :old_#{method}, :#{method}
18
-
19
- def #{method} *args
20
- old_#{method}(*args).tap do |rsp|
21
-
22
- stmp = Time.now.to_i.to_s
23
- path = Addressable::URI.parse(args[0])
24
- .path.split('/').join('_').gsub(/^_/,'')
25
-
26
- file_name = "#{method}_\#{path}_\#{stmp}.txt"
27
-
28
- req_buffer = StringIO.new
29
- rsp_buffer = StringIO.new
30
-
31
- PP.pp(args, req_buffer)
32
- PP.pp(rsp, rsp_buffer)
33
-
34
- prettied_req = decode_ruby req_buffer
35
- prettied_rsp = decode_ruby rsp_buffer
36
-
37
- File.write("request_\#{file_name}", prettied_req)
38
- File.write("response_\#{file_name}", prettied_rsp)
39
- end
40
- end
41
- EOT
42
- end
43
- end
44
- end
7
+ require "party_cc/version"
8
+ require 'party_cc/string_buffered_i_o'
9
+ require 'party_cc/net/response'
10
+ require 'party_cc/httparty'
45
11
 
46
12
  module PartyCC; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: party_cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - barberj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-02 00:00:00.000000000 Z
11
+ date: 2014-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -65,6 +65,9 @@ files:
65
65
  - README.md
66
66
  - Rakefile
67
67
  - lib/party_cc.rb
68
+ - lib/party_cc/httparty.rb
69
+ - lib/party_cc/net/response.rb
70
+ - lib/party_cc/string_buffered_i_o.rb
68
71
  - lib/party_cc/version.rb
69
72
  - party_cc.gemspec
70
73
  homepage: https://github.com/barberj/party_cc