sucker 1.3.0.pre → 1.3.0.pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|