sucker 1.3.0.pre → 1.3.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sucker.rb +1 -1
- data/lib/sucker.rbc +10 -15
- data/lib/sucker/parameters.rb +4 -4
- data/lib/sucker/parameters.rbc +6 -6
- data/lib/sucker/request.rb +43 -51
- data/lib/sucker/request.rbc +270 -315
- data/lib/sucker/response.rb +3 -2
- data/lib/sucker/response.rbc +39 -27
- data/lib/sucker/version.rb +1 -1
- data/spec/fixtures/cassette_library/offer-listing-id.yml +26 -0
- data/spec/sucker/request_spec.rb +12 -9
- data/spec/sucker/request_spec.rbc +244 -75
- metadata +3 -1
data/lib/sucker.rb
CHANGED
data/lib/sucker.rbc
CHANGED
@@ -141,7 +141,7 @@ x
|
|
141
141
|
3
|
142
142
|
new
|
143
143
|
i
|
144
|
-
|
144
|
+
43
|
145
145
|
23
|
146
146
|
0
|
147
147
|
10
|
@@ -159,32 +159,30 @@ i
|
|
159
159
|
45
|
160
160
|
2
|
161
161
|
3
|
162
|
-
43
|
163
|
-
4
|
164
162
|
13
|
165
163
|
71
|
166
|
-
|
164
|
+
4
|
167
165
|
47
|
168
166
|
9
|
169
|
-
|
167
|
+
37
|
170
168
|
47
|
171
169
|
49
|
172
|
-
|
170
|
+
5
|
173
171
|
0
|
174
172
|
13
|
175
173
|
20
|
176
174
|
0
|
177
175
|
47
|
178
176
|
49
|
179
|
-
|
177
|
+
6
|
180
178
|
1
|
181
179
|
15
|
182
180
|
8
|
183
|
-
|
181
|
+
42
|
184
182
|
20
|
185
183
|
0
|
186
184
|
49
|
187
|
-
|
185
|
+
4
|
188
186
|
1
|
189
187
|
11
|
190
188
|
I
|
@@ -197,7 +195,7 @@ I
|
|
197
195
|
1
|
198
196
|
n
|
199
197
|
p
|
200
|
-
|
198
|
+
7
|
201
199
|
x
|
202
200
|
4
|
203
201
|
Hash
|
@@ -205,12 +203,9 @@ x
|
|
205
203
|
16
|
206
204
|
new_from_literal
|
207
205
|
x
|
208
|
-
6
|
209
|
-
Sucker
|
210
|
-
n
|
211
|
-
x
|
212
206
|
7
|
213
207
|
Request
|
208
|
+
n
|
214
209
|
x
|
215
210
|
3
|
216
211
|
new
|
@@ -231,7 +226,7 @@ e
|
|
231
226
|
I
|
232
227
|
14
|
233
228
|
I
|
234
|
-
|
229
|
+
2b
|
235
230
|
x
|
236
231
|
44
|
237
232
|
/Users/hakanensari/code/sucker/lib/sucker.rb
|
data/lib/sucker/parameters.rb
CHANGED
@@ -15,10 +15,10 @@ module Sucker #:nodoc:
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def normalize
|
18
|
-
inject({}) do |hash,
|
19
|
-
|
20
|
-
|
21
|
-
hash[
|
18
|
+
inject({}) do |hash, kv|
|
19
|
+
k, v = kv
|
20
|
+
v = v.is_a?(Array) ? v.join(',') : v.to_s
|
21
|
+
hash[k.to_s.camelize] = v
|
22
22
|
hash
|
23
23
|
end
|
24
24
|
end
|
data/lib/sucker/parameters.rbc
CHANGED
data/lib/sucker/request.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'net/http'
|
4
|
-
require '
|
4
|
+
require 'openssl'
|
5
5
|
|
6
6
|
module Sucker #:nodoc:
|
7
7
|
|
@@ -36,7 +36,7 @@ module Sucker #:nodoc:
|
|
36
36
|
# :key => 'API KEY',
|
37
37
|
# :secret => 'API SECRET')
|
38
38
|
#
|
39
|
-
def initialize(args)
|
39
|
+
def initialize(args={})
|
40
40
|
args.each { |k, v| send("#{k}=", v) }
|
41
41
|
end
|
42
42
|
|
@@ -48,7 +48,7 @@ module Sucker #:nodoc:
|
|
48
48
|
# 'ItemId' => '0816614024' }
|
49
49
|
#
|
50
50
|
def <<(hash)
|
51
|
-
|
51
|
+
parameters.merge!(hash)
|
52
52
|
end
|
53
53
|
|
54
54
|
# Performs a request and returns a response
|
@@ -56,8 +56,11 @@ module Sucker #:nodoc:
|
|
56
56
|
# response = worker.get
|
57
57
|
#
|
58
58
|
def get
|
59
|
-
response =
|
60
|
-
Net::HTTP.
|
59
|
+
response = bind_to local_ip do
|
60
|
+
Net::HTTP.start(host) do |http|
|
61
|
+
query = build_signed_query
|
62
|
+
http.get("/onca/xml?#{query}")
|
63
|
+
end
|
61
64
|
end
|
62
65
|
Response.new(response)
|
63
66
|
end
|
@@ -72,48 +75,20 @@ module Sucker #:nodoc:
|
|
72
75
|
# worker.version = '2010-06-01'
|
73
76
|
#
|
74
77
|
def version=(version)
|
75
|
-
|
78
|
+
parameters['Version'] = version
|
76
79
|
end
|
77
80
|
|
78
81
|
private
|
79
82
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
sort.
|
86
|
-
map do |k, v|
|
87
|
-
"#{k}=" + escape(v)
|
88
|
-
end.join('&')
|
89
|
-
end
|
90
|
-
|
91
|
-
def build_signed_query
|
92
|
-
query = build_query
|
93
|
-
|
94
|
-
digest = OpenSSL::Digest::Digest.new('sha256')
|
95
|
-
string = ['GET', host, '/onca/xml', query].join("\n")
|
96
|
-
hmac = OpenSSL::HMAC.digest(digest, secret, string)
|
97
|
-
signature = escape([hmac].pack('m').chomp)
|
98
|
-
|
99
|
-
query + '&Signature=' + signature
|
100
|
-
end
|
101
|
-
|
102
|
-
def escape(value)
|
103
|
-
value.gsub(/([^a-zA-Z0-9_.~-]+)/) do
|
104
|
-
'%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
def host
|
109
|
-
HOSTS[locale]
|
110
|
-
end
|
111
|
-
|
112
|
-
def request_through(local_ip)
|
83
|
+
# I am gently monkey-patching TCPSocket here to be able to bind the request
|
84
|
+
# to a local IP if specified, emulating cURL's interface option. Once a
|
85
|
+
# request is made, I reverse the patch, leaving TCPSOcket in its original
|
86
|
+
# state.
|
87
|
+
def bind_to(local_ip)
|
113
88
|
if local_ip
|
114
89
|
TCPSocket.instance_eval do
|
115
90
|
(class << self; self; end).instance_eval do
|
116
|
-
alias_method :
|
91
|
+
alias_method :original_open, :open
|
117
92
|
|
118
93
|
define_method(:open) do |conn_address, conn_port|
|
119
94
|
original_open(conn_address, conn_port, local_ip)
|
@@ -127,8 +102,8 @@ module Sucker #:nodoc:
|
|
127
102
|
if local_ip
|
128
103
|
TCPSocket.instance_eval do
|
129
104
|
(class << self; self; end).instance_eval do
|
130
|
-
alias_method :open, :
|
131
|
-
remove_method :
|
105
|
+
alias_method :open, :original_open
|
106
|
+
remove_method :original_open
|
132
107
|
end
|
133
108
|
end
|
134
109
|
end
|
@@ -136,18 +111,35 @@ module Sucker #:nodoc:
|
|
136
111
|
return_value
|
137
112
|
end
|
138
113
|
|
139
|
-
def
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
114
|
+
def build_query
|
115
|
+
parameters.
|
116
|
+
normalize.
|
117
|
+
merge({ 'AWSAccessKeyId' => key,
|
118
|
+
'AssociateTag' => associate_tag.to_s }).
|
119
|
+
sort.
|
120
|
+
map { |k, v| "#{k}=" + escape(v) }.
|
121
|
+
join('&')
|
144
122
|
end
|
145
123
|
|
146
|
-
def
|
147
|
-
|
148
|
-
|
149
|
-
|
124
|
+
def build_signed_query
|
125
|
+
query = build_query
|
126
|
+
|
127
|
+
digest = OpenSSL::Digest::Digest.new('sha256')
|
128
|
+
string = ['GET', host, '/onca/xml', query].join("\n")
|
129
|
+
hmac = OpenSSL::HMAC.digest(digest, secret, string)
|
130
|
+
signature = escape([hmac].pack('m').chomp)
|
131
|
+
|
132
|
+
query + '&Signature=' + signature
|
133
|
+
end
|
134
|
+
|
135
|
+
def escape(value)
|
136
|
+
value.gsub(/([^a-zA-Z0-9_.~-]+)/) do
|
137
|
+
'%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
|
150
138
|
end
|
151
139
|
end
|
140
|
+
|
141
|
+
def host
|
142
|
+
HOSTS[locale]
|
143
|
+
end
|
152
144
|
end
|
153
145
|
end
|
data/lib/sucker/request.rbc
CHANGED
@@ -9,7 +9,7 @@ x
|
|
9
9
|
10
|
10
10
|
__script__
|
11
11
|
i
|
12
|
-
|
12
|
+
55
|
13
13
|
5
|
14
14
|
7
|
15
15
|
0
|
@@ -28,30 +28,39 @@ i
|
|
28
28
|
1
|
29
29
|
1
|
30
30
|
15
|
31
|
-
|
31
|
+
5
|
32
32
|
7
|
33
33
|
3
|
34
|
-
|
34
|
+
64
|
35
|
+
47
|
35
36
|
49
|
37
|
+
1
|
38
|
+
1
|
39
|
+
15
|
40
|
+
99
|
41
|
+
7
|
36
42
|
4
|
43
|
+
65
|
44
|
+
49
|
45
|
+
5
|
37
46
|
2
|
38
47
|
13
|
39
48
|
99
|
40
49
|
12
|
41
50
|
7
|
42
|
-
|
51
|
+
6
|
43
52
|
12
|
44
53
|
7
|
45
|
-
|
54
|
+
7
|
46
55
|
12
|
47
56
|
65
|
48
57
|
12
|
49
58
|
49
|
50
|
-
|
59
|
+
8
|
51
60
|
4
|
52
61
|
15
|
53
62
|
49
|
54
|
-
|
63
|
+
6
|
55
64
|
0
|
56
65
|
15
|
57
66
|
2
|
@@ -66,7 +75,7 @@ I
|
|
66
75
|
0
|
67
76
|
n
|
68
77
|
p
|
69
|
-
|
78
|
+
9
|
70
79
|
s
|
71
80
|
8
|
72
81
|
net/http
|
@@ -74,6 +83,9 @@ x
|
|
74
83
|
7
|
75
84
|
require
|
76
85
|
s
|
86
|
+
7
|
87
|
+
openssl
|
88
|
+
s
|
77
89
|
3
|
78
90
|
uri
|
79
91
|
x
|
@@ -151,7 +163,7 @@ x
|
|
151
163
|
7
|
152
164
|
Request
|
153
165
|
i
|
154
|
-
|
166
|
+
275
|
155
167
|
5
|
156
168
|
66
|
157
169
|
65
|
@@ -426,20 +438,6 @@ i
|
|
426
438
|
49
|
427
439
|
26
|
428
440
|
4
|
429
|
-
15
|
430
|
-
99
|
431
|
-
7
|
432
|
-
48
|
433
|
-
7
|
434
|
-
49
|
435
|
-
65
|
436
|
-
67
|
437
|
-
49
|
438
|
-
25
|
439
|
-
0
|
440
|
-
49
|
441
|
-
26
|
442
|
-
4
|
443
441
|
11
|
444
442
|
I
|
445
443
|
6
|
@@ -451,7 +449,7 @@ I
|
|
451
449
|
0
|
452
450
|
n
|
453
451
|
p
|
454
|
-
|
452
|
+
48
|
455
453
|
x
|
456
454
|
5
|
457
455
|
HOSTS
|
@@ -532,13 +530,27 @@ x
|
|
532
530
|
10
|
533
531
|
initialize
|
534
532
|
i
|
535
|
-
|
533
|
+
22
|
534
|
+
23
|
535
|
+
0
|
536
|
+
10
|
537
|
+
14
|
538
|
+
44
|
539
|
+
43
|
540
|
+
0
|
541
|
+
78
|
542
|
+
49
|
543
|
+
1
|
544
|
+
1
|
545
|
+
19
|
546
|
+
0
|
547
|
+
15
|
536
548
|
20
|
537
549
|
0
|
538
550
|
56
|
539
|
-
|
551
|
+
2
|
540
552
|
50
|
541
|
-
|
553
|
+
3
|
542
554
|
0
|
543
555
|
11
|
544
556
|
I
|
@@ -546,12 +558,18 @@ I
|
|
546
558
|
I
|
547
559
|
1
|
548
560
|
I
|
549
|
-
|
561
|
+
0
|
550
562
|
I
|
551
563
|
1
|
552
564
|
n
|
553
565
|
p
|
554
|
-
|
566
|
+
4
|
567
|
+
x
|
568
|
+
4
|
569
|
+
Hash
|
570
|
+
x
|
571
|
+
16
|
572
|
+
new_from_literal
|
555
573
|
M
|
556
574
|
1
|
557
575
|
p
|
@@ -618,7 +636,7 @@ p
|
|
618
636
|
I
|
619
637
|
0
|
620
638
|
I
|
621
|
-
|
639
|
+
29
|
622
640
|
I
|
623
641
|
1b
|
624
642
|
x
|
@@ -640,13 +658,13 @@ p
|
|
640
658
|
I
|
641
659
|
-1
|
642
660
|
I
|
643
|
-
|
661
|
+
28
|
644
662
|
I
|
645
|
-
|
663
|
+
e
|
646
664
|
I
|
647
|
-
|
665
|
+
29
|
648
666
|
I
|
649
|
-
|
667
|
+
16
|
650
668
|
x
|
651
669
|
52
|
652
670
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -672,10 +690,9 @@ x
|
|
672
690
|
2
|
673
691
|
<<
|
674
692
|
i
|
675
|
-
|
693
|
+
9
|
676
694
|
5
|
677
|
-
|
678
|
-
0
|
695
|
+
48
|
679
696
|
0
|
680
697
|
20
|
681
698
|
0
|
@@ -705,13 +722,13 @@ p
|
|
705
722
|
I
|
706
723
|
-1
|
707
724
|
I
|
708
|
-
|
725
|
+
33
|
709
726
|
I
|
710
727
|
0
|
711
728
|
I
|
712
|
-
|
729
|
+
34
|
713
730
|
I
|
714
|
-
|
731
|
+
9
|
715
732
|
x
|
716
733
|
52
|
717
734
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -801,7 +818,7 @@ x
|
|
801
818
|
3
|
802
819
|
get
|
803
820
|
i
|
804
|
-
|
821
|
+
16
|
805
822
|
45
|
806
823
|
0
|
807
824
|
1
|
@@ -810,12 +827,16 @@ i
|
|
810
827
|
5
|
811
828
|
48
|
812
829
|
3
|
813
|
-
49
|
814
830
|
4
|
815
|
-
|
831
|
+
80
|
832
|
+
56
|
833
|
+
4
|
834
|
+
50
|
835
|
+
5
|
836
|
+
2
|
816
837
|
11
|
817
838
|
I
|
818
|
-
|
839
|
+
5
|
819
840
|
I
|
820
841
|
0
|
821
842
|
I
|
@@ -825,7 +846,7 @@ I
|
|
825
846
|
I
|
826
847
|
-2
|
827
848
|
p
|
828
|
-
|
849
|
+
6
|
829
850
|
x
|
830
851
|
3
|
831
852
|
Net
|
@@ -834,19 +855,108 @@ x
|
|
834
855
|
4
|
835
856
|
HTTP
|
836
857
|
x
|
858
|
+
4
|
859
|
+
host
|
860
|
+
M
|
861
|
+
1
|
862
|
+
p
|
863
|
+
2
|
864
|
+
x
|
865
|
+
9
|
866
|
+
for_block
|
867
|
+
t
|
868
|
+
n
|
869
|
+
x
|
837
870
|
3
|
838
|
-
|
871
|
+
get
|
872
|
+
i
|
873
|
+
25
|
874
|
+
57
|
875
|
+
19
|
876
|
+
0
|
877
|
+
15
|
878
|
+
5
|
879
|
+
48
|
880
|
+
0
|
881
|
+
19
|
882
|
+
1
|
883
|
+
15
|
884
|
+
20
|
885
|
+
0
|
886
|
+
7
|
887
|
+
1
|
888
|
+
20
|
889
|
+
1
|
890
|
+
47
|
891
|
+
101
|
892
|
+
2
|
893
|
+
63
|
894
|
+
2
|
895
|
+
49
|
896
|
+
3
|
897
|
+
1
|
898
|
+
11
|
899
|
+
I
|
900
|
+
6
|
901
|
+
I
|
902
|
+
2
|
903
|
+
I
|
904
|
+
1
|
905
|
+
I
|
906
|
+
1
|
907
|
+
n
|
908
|
+
p
|
909
|
+
4
|
839
910
|
x
|
840
|
-
|
841
|
-
|
911
|
+
18
|
912
|
+
build_signed_query
|
913
|
+
s
|
914
|
+
10
|
915
|
+
/onca/xml?
|
916
|
+
x
|
917
|
+
4
|
918
|
+
to_s
|
919
|
+
x
|
920
|
+
3
|
921
|
+
get
|
922
|
+
p
|
923
|
+
7
|
924
|
+
I
|
925
|
+
0
|
926
|
+
I
|
927
|
+
3d
|
928
|
+
I
|
929
|
+
4
|
930
|
+
I
|
931
|
+
3e
|
932
|
+
I
|
933
|
+
a
|
934
|
+
I
|
935
|
+
3f
|
936
|
+
I
|
937
|
+
19
|
938
|
+
x
|
939
|
+
52
|
940
|
+
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
941
|
+
p
|
942
|
+
2
|
943
|
+
x
|
944
|
+
4
|
945
|
+
http
|
946
|
+
x
|
947
|
+
5
|
948
|
+
query
|
949
|
+
x
|
950
|
+
5
|
951
|
+
start
|
842
952
|
p
|
843
953
|
3
|
844
954
|
I
|
845
955
|
0
|
846
956
|
I
|
847
|
-
|
957
|
+
3d
|
848
958
|
I
|
849
|
-
|
959
|
+
10
|
850
960
|
x
|
851
961
|
52
|
852
962
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -873,15 +983,15 @@ p
|
|
873
983
|
I
|
874
984
|
-1
|
875
985
|
I
|
876
|
-
|
986
|
+
3b
|
877
987
|
I
|
878
988
|
0
|
879
989
|
I
|
880
|
-
|
990
|
+
3c
|
881
991
|
I
|
882
992
|
d
|
883
993
|
I
|
884
|
-
|
994
|
+
42
|
885
995
|
I
|
886
996
|
2a
|
887
997
|
x
|
@@ -969,11 +1079,11 @@ p
|
|
969
1079
|
I
|
970
1080
|
-1
|
971
1081
|
I
|
972
|
-
|
1082
|
+
46
|
973
1083
|
I
|
974
1084
|
0
|
975
1085
|
I
|
976
|
-
|
1086
|
+
47
|
977
1087
|
I
|
978
1088
|
21
|
979
1089
|
x
|
@@ -992,10 +1102,9 @@ x
|
|
992
1102
|
8
|
993
1103
|
version=
|
994
1104
|
i
|
995
|
-
|
1105
|
+
16
|
996
1106
|
5
|
997
|
-
|
998
|
-
0
|
1107
|
+
48
|
999
1108
|
0
|
1000
1109
|
7
|
1001
1110
|
1
|
@@ -1035,13 +1144,13 @@ p
|
|
1035
1144
|
I
|
1036
1145
|
-1
|
1037
1146
|
I
|
1038
|
-
|
1147
|
+
4e
|
1039
1148
|
I
|
1040
1149
|
0
|
1041
1150
|
I
|
1042
|
-
|
1151
|
+
4f
|
1043
1152
|
I
|
1044
|
-
|
1153
|
+
10
|
1045
1154
|
x
|
1046
1155
|
52
|
1047
1156
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -1064,7 +1173,7 @@ x
|
|
1064
1173
|
11
|
1065
1174
|
build_query
|
1066
1175
|
i
|
1067
|
-
|
1176
|
+
56
|
1068
1177
|
5
|
1069
1178
|
48
|
1070
1179
|
0
|
@@ -1074,7 +1183,7 @@ i
|
|
1074
1183
|
44
|
1075
1184
|
43
|
1076
1185
|
2
|
1077
|
-
|
1186
|
+
80
|
1078
1187
|
49
|
1079
1188
|
3
|
1080
1189
|
1
|
@@ -1089,32 +1198,22 @@ i
|
|
1089
1198
|
6
|
1090
1199
|
2
|
1091
1200
|
15
|
1092
|
-
49
|
1093
|
-
7
|
1094
|
-
1
|
1095
|
-
44
|
1096
|
-
43
|
1097
|
-
2
|
1098
|
-
79
|
1099
|
-
49
|
1100
|
-
3
|
1101
|
-
1
|
1102
1201
|
13
|
1103
1202
|
7
|
1104
|
-
|
1203
|
+
7
|
1105
1204
|
64
|
1106
1205
|
5
|
1107
1206
|
48
|
1108
|
-
|
1207
|
+
8
|
1109
1208
|
49
|
1110
|
-
|
1209
|
+
9
|
1111
1210
|
0
|
1112
1211
|
49
|
1113
1212
|
6
|
1114
1213
|
2
|
1115
1214
|
15
|
1116
1215
|
49
|
1117
|
-
|
1216
|
+
10
|
1118
1217
|
1
|
1119
1218
|
49
|
1120
1219
|
11
|
@@ -1163,9 +1262,6 @@ key
|
|
1163
1262
|
x
|
1164
1263
|
3
|
1165
1264
|
[]=
|
1166
|
-
x
|
1167
|
-
5
|
1168
|
-
merge
|
1169
1265
|
s
|
1170
1266
|
12
|
1171
1267
|
AssociateTag
|
@@ -1176,6 +1272,9 @@ x
|
|
1176
1272
|
4
|
1177
1273
|
to_s
|
1178
1274
|
x
|
1275
|
+
5
|
1276
|
+
merge
|
1277
|
+
x
|
1179
1278
|
4
|
1180
1279
|
sort
|
1181
1280
|
M
|
@@ -1245,19 +1344,15 @@ x
|
|
1245
1344
|
1
|
1246
1345
|
+
|
1247
1346
|
p
|
1248
|
-
|
1347
|
+
5
|
1249
1348
|
I
|
1250
1349
|
0
|
1251
1350
|
I
|
1252
|
-
|
1351
|
+
55
|
1253
1352
|
I
|
1254
1353
|
2
|
1255
1354
|
I
|
1256
|
-
|
1257
|
-
I
|
1258
|
-
a
|
1259
|
-
I
|
1260
|
-
57
|
1355
|
+
5a
|
1261
1356
|
I
|
1262
1357
|
1d
|
1263
1358
|
x
|
@@ -1285,37 +1380,37 @@ p
|
|
1285
1380
|
I
|
1286
1381
|
-1
|
1287
1382
|
I
|
1288
|
-
|
1383
|
+
54
|
1289
1384
|
I
|
1290
1385
|
0
|
1291
1386
|
I
|
1292
|
-
|
1387
|
+
55
|
1293
1388
|
I
|
1294
1389
|
6
|
1295
1390
|
I
|
1296
|
-
|
1391
|
+
58
|
1297
1392
|
I
|
1298
|
-
|
1393
|
+
e
|
1299
1394
|
I
|
1300
|
-
|
1395
|
+
57
|
1301
1396
|
I
|
1302
|
-
|
1397
|
+
19
|
1303
1398
|
I
|
1304
|
-
|
1399
|
+
58
|
1305
1400
|
I
|
1306
|
-
|
1401
|
+
26
|
1307
1402
|
I
|
1308
|
-
|
1403
|
+
55
|
1309
1404
|
I
|
1310
|
-
|
1405
|
+
31
|
1311
1406
|
I
|
1312
|
-
|
1407
|
+
5b
|
1313
1408
|
I
|
1314
|
-
|
1409
|
+
34
|
1315
1410
|
I
|
1316
|
-
|
1411
|
+
55
|
1317
1412
|
I
|
1318
|
-
|
1413
|
+
38
|
1319
1414
|
x
|
1320
1415
|
52
|
1321
1416
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -1531,31 +1626,31 @@ p
|
|
1531
1626
|
I
|
1532
1627
|
-1
|
1533
1628
|
I
|
1534
|
-
|
1629
|
+
5e
|
1535
1630
|
I
|
1536
1631
|
0
|
1537
1632
|
I
|
1538
|
-
|
1633
|
+
5f
|
1539
1634
|
I
|
1540
1635
|
6
|
1541
1636
|
I
|
1542
|
-
|
1637
|
+
61
|
1543
1638
|
I
|
1544
1639
|
2b
|
1545
1640
|
I
|
1546
|
-
|
1641
|
+
62
|
1547
1642
|
I
|
1548
1643
|
41
|
1549
1644
|
I
|
1550
|
-
|
1645
|
+
63
|
1551
1646
|
I
|
1552
1647
|
53
|
1553
1648
|
I
|
1554
|
-
|
1649
|
+
64
|
1555
1650
|
I
|
1556
1651
|
68
|
1557
1652
|
I
|
1558
|
-
|
1653
|
+
66
|
1559
1654
|
I
|
1560
1655
|
74
|
1561
1656
|
x
|
@@ -1734,7 +1829,7 @@ p
|
|
1734
1829
|
I
|
1735
1830
|
0
|
1736
1831
|
I
|
1737
|
-
|
1832
|
+
6b
|
1738
1833
|
I
|
1739
1834
|
27
|
1740
1835
|
x
|
@@ -1750,11 +1845,11 @@ p
|
|
1750
1845
|
I
|
1751
1846
|
-1
|
1752
1847
|
I
|
1753
|
-
|
1848
|
+
69
|
1754
1849
|
I
|
1755
1850
|
0
|
1756
1851
|
I
|
1757
|
-
|
1852
|
+
6a
|
1758
1853
|
I
|
1759
1854
|
1a
|
1760
1855
|
x
|
@@ -1813,11 +1908,11 @@ p
|
|
1813
1908
|
I
|
1814
1909
|
-1
|
1815
1910
|
I
|
1816
|
-
|
1911
|
+
6f
|
1817
1912
|
I
|
1818
1913
|
0
|
1819
1914
|
I
|
1820
|
-
|
1915
|
+
70
|
1821
1916
|
I
|
1822
1917
|
a
|
1823
1918
|
x
|
@@ -1980,8 +2075,8 @@ I
|
|
1980
2075
|
p
|
1981
2076
|
5
|
1982
2077
|
x
|
1983
|
-
|
1984
|
-
|
2078
|
+
13
|
2079
|
+
original_open
|
1985
2080
|
x
|
1986
2081
|
4
|
1987
2082
|
open
|
@@ -2044,11 +2139,11 @@ p
|
|
2044
2139
|
I
|
2045
2140
|
0
|
2046
2141
|
I
|
2047
|
-
|
2142
|
+
79
|
2048
2143
|
I
|
2049
2144
|
a
|
2050
2145
|
I
|
2051
|
-
|
2146
|
+
7a
|
2052
2147
|
I
|
2053
2148
|
17
|
2054
2149
|
x
|
@@ -2070,11 +2165,11 @@ p
|
|
2070
2165
|
I
|
2071
2166
|
0
|
2072
2167
|
I
|
2073
|
-
|
2168
|
+
77
|
2074
2169
|
I
|
2075
2170
|
a
|
2076
2171
|
I
|
2077
|
-
|
2172
|
+
79
|
2078
2173
|
I
|
2079
2174
|
14
|
2080
2175
|
x
|
@@ -2090,7 +2185,7 @@ p
|
|
2090
2185
|
I
|
2091
2186
|
0
|
2092
2187
|
I
|
2093
|
-
|
2188
|
+
76
|
2094
2189
|
I
|
2095
2190
|
c
|
2096
2191
|
x
|
@@ -2191,8 +2286,8 @@ x
|
|
2191
2286
|
4
|
2192
2287
|
open
|
2193
2288
|
x
|
2194
|
-
|
2195
|
-
|
2289
|
+
13
|
2290
|
+
original_open
|
2196
2291
|
x
|
2197
2292
|
12
|
2198
2293
|
alias_method
|
@@ -2204,11 +2299,11 @@ p
|
|
2204
2299
|
I
|
2205
2300
|
0
|
2206
2301
|
I
|
2207
|
-
|
2302
|
+
85
|
2208
2303
|
I
|
2209
2304
|
a
|
2210
2305
|
I
|
2211
|
-
|
2306
|
+
86
|
2212
2307
|
I
|
2213
2308
|
12
|
2214
2309
|
x
|
@@ -2224,7 +2319,7 @@ p
|
|
2224
2319
|
I
|
2225
2320
|
0
|
2226
2321
|
I
|
2227
|
-
|
2322
|
+
84
|
2228
2323
|
I
|
2229
2324
|
c
|
2230
2325
|
x
|
@@ -2237,39 +2332,39 @@ p
|
|
2237
2332
|
I
|
2238
2333
|
-1
|
2239
2334
|
I
|
2240
|
-
|
2335
|
+
73
|
2241
2336
|
I
|
2242
2337
|
0
|
2243
2338
|
I
|
2244
|
-
|
2339
|
+
74
|
2245
2340
|
I
|
2246
2341
|
4
|
2247
2342
|
I
|
2248
|
-
|
2343
|
+
75
|
2249
2344
|
I
|
2250
2345
|
e
|
2251
2346
|
I
|
2252
|
-
|
2347
|
+
74
|
2253
2348
|
I
|
2254
2349
|
10
|
2255
2350
|
I
|
2256
|
-
|
2351
|
+
80
|
2257
2352
|
I
|
2258
2353
|
15
|
2259
2354
|
I
|
2260
|
-
|
2355
|
+
82
|
2261
2356
|
I
|
2262
2357
|
19
|
2263
2358
|
I
|
2264
|
-
|
2359
|
+
83
|
2265
2360
|
I
|
2266
2361
|
23
|
2267
2362
|
I
|
2268
|
-
|
2363
|
+
82
|
2269
2364
|
I
|
2270
2365
|
25
|
2271
2366
|
I
|
2272
|
-
|
2367
|
+
8b
|
2273
2368
|
I
|
2274
2369
|
28
|
2275
2370
|
x
|
@@ -2392,31 +2487,31 @@ p
|
|
2392
2487
|
I
|
2393
2488
|
-1
|
2394
2489
|
I
|
2395
|
-
|
2490
|
+
8e
|
2396
2491
|
I
|
2397
2492
|
0
|
2398
2493
|
I
|
2399
|
-
|
2494
|
+
8f
|
2400
2495
|
I
|
2401
2496
|
5
|
2402
2497
|
I
|
2403
|
-
|
2498
|
+
92
|
2404
2499
|
I
|
2405
2500
|
e
|
2406
2501
|
I
|
2407
|
-
|
2502
|
+
90
|
2408
2503
|
I
|
2409
2504
|
18
|
2410
2505
|
I
|
2411
|
-
|
2506
|
+
91
|
2412
2507
|
I
|
2413
2508
|
22
|
2414
2509
|
I
|
2415
|
-
|
2510
|
+
92
|
2416
2511
|
I
|
2417
2512
|
2b
|
2418
2513
|
I
|
2419
|
-
|
2514
|
+
8f
|
2420
2515
|
I
|
2421
2516
|
2f
|
2422
2517
|
x
|
@@ -2424,254 +2519,110 @@ x
|
|
2424
2519
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
2425
2520
|
p
|
2426
2521
|
0
|
2427
|
-
x
|
2428
|
-
4
|
2429
|
-
uris
|
2430
|
-
M
|
2431
|
-
1
|
2432
|
-
n
|
2433
|
-
n
|
2434
|
-
x
|
2435
|
-
4
|
2436
|
-
uris
|
2437
|
-
i
|
2438
|
-
9
|
2439
|
-
5
|
2440
|
-
48
|
2441
|
-
0
|
2442
|
-
56
|
2443
|
-
1
|
2444
|
-
50
|
2445
|
-
2
|
2446
|
-
0
|
2447
|
-
11
|
2448
|
-
I
|
2449
|
-
2
|
2450
|
-
I
|
2451
|
-
0
|
2452
|
-
I
|
2453
|
-
0
|
2454
|
-
I
|
2455
|
-
0
|
2456
|
-
n
|
2457
|
-
p
|
2458
|
-
3
|
2459
|
-
x
|
2460
|
-
7
|
2461
|
-
locales
|
2462
|
-
M
|
2463
|
-
1
|
2464
|
-
p
|
2465
|
-
2
|
2466
|
-
x
|
2467
|
-
9
|
2468
|
-
for_block
|
2469
|
-
t
|
2470
|
-
n
|
2471
|
-
x
|
2472
|
-
4
|
2473
|
-
uris
|
2474
|
-
i
|
2475
|
-
23
|
2476
|
-
57
|
2477
|
-
19
|
2478
|
-
0
|
2479
|
-
15
|
2480
|
-
5
|
2481
|
-
20
|
2482
|
-
0
|
2483
|
-
13
|
2484
|
-
18
|
2485
|
-
2
|
2486
|
-
47
|
2487
|
-
49
|
2488
|
-
0
|
2489
|
-
1
|
2490
|
-
15
|
2491
|
-
15
|
2492
|
-
5
|
2493
|
-
48
|
2494
|
-
1
|
2495
|
-
49
|
2496
|
-
2
|
2497
|
-
0
|
2498
|
-
11
|
2499
|
-
I
|
2500
|
-
5
|
2501
|
-
I
|
2502
|
-
1
|
2503
|
-
I
|
2504
|
-
1
|
2505
|
-
I
|
2506
|
-
1
|
2507
|
-
n
|
2508
|
-
p
|
2509
|
-
3
|
2510
|
-
x
|
2511
|
-
7
|
2512
|
-
locale=
|
2513
|
-
x
|
2514
|
-
3
|
2515
|
-
uri
|
2516
|
-
x
|
2517
|
-
4
|
2518
|
-
to_s
|
2519
|
-
p
|
2520
|
-
9
|
2521
|
-
I
|
2522
|
-
0
|
2523
|
-
I
|
2524
|
-
93
|
2525
|
-
I
|
2526
|
-
4
|
2527
|
-
I
|
2528
|
-
99
|
2529
|
-
I
|
2530
|
-
5
|
2531
|
-
I
|
2532
|
-
94
|
2533
|
-
I
|
2534
|
-
10
|
2535
|
-
I
|
2536
|
-
95
|
2537
|
-
I
|
2538
|
-
17
|
2539
|
-
x
|
2540
|
-
52
|
2541
|
-
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
2542
|
-
p
|
2543
|
-
1
|
2544
|
-
x
|
2545
|
-
6
|
2546
|
-
locale
|
2547
|
-
x
|
2548
|
-
3
|
2549
|
-
map
|
2550
|
-
p
|
2551
|
-
5
|
2552
|
-
I
|
2553
|
-
-1
|
2554
|
-
I
|
2555
|
-
92
|
2556
|
-
I
|
2557
|
-
0
|
2558
|
-
I
|
2559
|
-
93
|
2560
|
-
I
|
2561
|
-
9
|
2562
|
-
x
|
2563
|
-
52
|
2564
|
-
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
2565
|
-
p
|
2566
|
-
0
|
2567
2522
|
p
|
2568
|
-
|
2523
|
+
51
|
2569
2524
|
I
|
2570
2525
|
2
|
2571
2526
|
I
|
2572
|
-
|
2527
|
+
b
|
2573
2528
|
I
|
2574
2529
|
5
|
2575
2530
|
I
|
2576
|
-
|
2531
|
+
11
|
2577
2532
|
I
|
2578
2533
|
e
|
2579
2534
|
I
|
2580
|
-
|
2535
|
+
c
|
2581
2536
|
I
|
2582
2537
|
18
|
2583
2538
|
I
|
2584
|
-
|
2539
|
+
d
|
2585
2540
|
I
|
2586
2541
|
22
|
2587
2542
|
I
|
2588
|
-
|
2543
|
+
e
|
2589
2544
|
I
|
2590
2545
|
2c
|
2591
2546
|
I
|
2592
|
-
|
2547
|
+
f
|
2593
2548
|
I
|
2594
2549
|
36
|
2595
2550
|
I
|
2596
|
-
|
2551
|
+
10
|
2597
2552
|
I
|
2598
2553
|
40
|
2599
2554
|
I
|
2600
|
-
|
2555
|
+
11
|
2601
2556
|
I
|
2602
2557
|
4d
|
2603
2558
|
I
|
2604
|
-
|
2559
|
+
14
|
2605
2560
|
I
|
2606
2561
|
55
|
2607
2562
|
I
|
2608
|
-
|
2563
|
+
17
|
2609
2564
|
I
|
2610
2565
|
5d
|
2611
2566
|
I
|
2612
|
-
|
2567
|
+
1a
|
2613
2568
|
I
|
2614
2569
|
65
|
2615
2570
|
I
|
2616
|
-
|
2571
|
+
1d
|
2617
2572
|
I
|
2618
2573
|
6d
|
2619
2574
|
I
|
2620
|
-
|
2575
|
+
20
|
2621
2576
|
I
|
2622
2577
|
75
|
2623
2578
|
I
|
2624
|
-
|
2579
|
+
28
|
2625
2580
|
I
|
2626
2581
|
83
|
2627
2582
|
I
|
2628
|
-
|
2583
|
+
33
|
2629
2584
|
I
|
2630
2585
|
91
|
2631
2586
|
I
|
2632
|
-
|
2587
|
+
3b
|
2633
2588
|
I
|
2634
2589
|
9f
|
2635
2590
|
I
|
2636
|
-
|
2591
|
+
46
|
2637
2592
|
I
|
2638
2593
|
ad
|
2639
2594
|
I
|
2640
|
-
|
2595
|
+
4e
|
2641
2596
|
I
|
2642
2597
|
bb
|
2643
2598
|
I
|
2644
|
-
|
2599
|
+
52
|
2645
2600
|
I
|
2646
2601
|
bf
|
2647
2602
|
I
|
2648
|
-
|
2603
|
+
54
|
2649
2604
|
I
|
2650
2605
|
cd
|
2651
2606
|
I
|
2652
|
-
|
2607
|
+
5e
|
2653
2608
|
I
|
2654
2609
|
db
|
2655
2610
|
I
|
2656
|
-
|
2611
|
+
69
|
2657
2612
|
I
|
2658
2613
|
e9
|
2659
2614
|
I
|
2660
|
-
|
2615
|
+
6f
|
2661
2616
|
I
|
2662
2617
|
f7
|
2663
2618
|
I
|
2664
|
-
|
2619
|
+
73
|
2665
2620
|
I
|
2666
2621
|
105
|
2667
2622
|
I
|
2668
|
-
|
2623
|
+
8e
|
2669
2624
|
I
|
2670
2625
|
113
|
2671
|
-
I
|
2672
|
-
92
|
2673
|
-
I
|
2674
|
-
121
|
2675
2626
|
x
|
2676
2627
|
52
|
2677
2628
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|
@@ -2685,7 +2636,7 @@ p
|
|
2685
2636
|
I
|
2686
2637
|
2
|
2687
2638
|
I
|
2688
|
-
|
2639
|
+
a
|
2689
2640
|
I
|
2690
2641
|
1d
|
2691
2642
|
x
|
@@ -2697,7 +2648,7 @@ x
|
|
2697
2648
|
13
|
2698
2649
|
attach_method
|
2699
2650
|
p
|
2700
|
-
|
2651
|
+
9
|
2701
2652
|
I
|
2702
2653
|
0
|
2703
2654
|
I
|
@@ -2709,9 +2660,13 @@ I
|
|
2709
2660
|
I
|
2710
2661
|
12
|
2711
2662
|
I
|
2712
|
-
|
2663
|
+
5
|
2664
|
+
I
|
2665
|
+
1b
|
2666
|
+
I
|
2667
|
+
7
|
2713
2668
|
I
|
2714
|
-
|
2669
|
+
37
|
2715
2670
|
x
|
2716
2671
|
52
|
2717
2672
|
/Users/hakanensari/code/sucker/lib/sucker/request.rb
|