ticketevolution-ruby 0.7.3 → 0.7.4

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.
Files changed (44) hide show
  1. data/README.markdown +8 -1
  2. data/lib/ticket_evolution.rb +8 -4
  3. data/lib/ticket_evolution/account.rb +1 -0
  4. data/lib/ticket_evolution/client.rb +1 -0
  5. data/lib/ticket_evolution/companies.rb +9 -0
  6. data/lib/ticket_evolution/company.rb +5 -0
  7. data/lib/ticket_evolution/core/endpoint/request_handler.rb +1 -1
  8. data/lib/ticket_evolution/core/model.rb +0 -25
  9. data/lib/ticket_evolution/core/model/parental_behavior.rb +25 -0
  10. data/lib/ticket_evolution/modules/create.rb +12 -5
  11. data/lib/ticket_evolution/modules/destroy.rb +31 -0
  12. data/lib/ticket_evolution/modules/show.rb +2 -2
  13. data/lib/ticket_evolution/rate_option.rb +5 -0
  14. data/lib/ticket_evolution/rate_options.rb +6 -0
  15. data/lib/ticket_evolution/track_detail.rb +5 -0
  16. data/lib/ticket_evolution/track_details.rb +6 -0
  17. data/lib/ticket_evolution/version.rb +1 -1
  18. data/spec/fixtures/fake.rb +3 -3
  19. data/spec/fixtures/net/core/connection.yml +124 -116
  20. data/spec/fixtures/net/endpoints/clients/create.yml +222 -178
  21. data/spec/fixtures/net/endpoints/clients/update_fail.yml +684 -605
  22. data/spec/fixtures/net/endpoints/clients/update_success.yml +604 -537
  23. data/spec/fixtures/net/endpoints/company/destroy_error.yml +120 -0
  24. data/spec/fixtures/net/endpoints/company/destroy_success.yml +284 -0
  25. data/spec/fixtures/net/endpoints/track_details/show.yml +58 -0
  26. data/spec/lib/ticket_evolution/account_spec.rb +1 -0
  27. data/spec/lib/ticket_evolution/client_spec.rb +1 -1
  28. data/spec/lib/ticket_evolution/companies_spec.rb +15 -0
  29. data/spec/lib/ticket_evolution/company_spec.rb +39 -0
  30. data/spec/lib/ticket_evolution/core/model_spec.rb +0 -18
  31. data/spec/lib/ticket_evolution/rate_option_spec.rb +8 -0
  32. data/spec/lib/ticket_evolution/rate_options_spec.rb +7 -0
  33. data/spec/lib/ticket_evolution/track_detail_spec.rb +8 -0
  34. data/spec/lib/ticket_evolution/track_details_spec.rb +32 -0
  35. data/spec/shared_examples/endpoints/create.rb +28 -8
  36. data/spec/shared_examples/endpoints/destroy.rb +67 -0
  37. data/spec/shared_examples/endpoints/show.rb +1 -1
  38. data/spec/shared_examples/models.rb +38 -0
  39. data/spec/spec_helper.rb +1 -0
  40. data/spec/support/stub_models.rb +20 -0
  41. data/ticketevolution-ruby.gemspec +1 -1
  42. metadata +55 -27
  43. data/lib/ticket_evolution/core/models/samples.rb +0 -11
  44. data/lib/ticket_evolution/core/samples.rb +0 -6
data/README.markdown CHANGED
@@ -164,6 +164,13 @@ Click on the links next to each endpoint for more detail.
164
164
  @client = @connection.clients.show(id)
165
165
  @client = @client.update_attributes(params)
166
166
 
167
+ **Company** - [http://developer.ticketevolution.com/endpoints/company](http://developer.ticketevolution.com/endpoints/company)
168
+
169
+ @company = @connection.company.create(params)
170
+ @company = @connection.company.list(params)
171
+ @company = @connection.company.show(id)
172
+ @company = @company.update_attributes(params)
173
+
167
174
  **Configurations** - [http://developer.ticketevolution.com/endpoints/configurations](http://developer.ticketevolution.com/endpoints/configurations)
168
175
 
169
176
  @configuration = @connection.configurations.list(params)
@@ -260,7 +267,7 @@ Click on the links next to each endpoint for more detail.
260
267
  @venue = @connection.venues.show(id)
261
268
 
262
269
 
263
- ######ticketevolution-ruby v0.7.3
270
+ ######ticketevolution-ruby v0.7.4
264
271
 
265
272
  License
266
273
  -------
@@ -48,12 +48,9 @@ c.req 'datum'
48
48
  c.req 'endpoint', 'request_handler'
49
49
  c.req 'endpoint'
50
50
  c.req 'model'
51
+ c.req 'model/parental_behavior'
51
52
  c.req 'time'
52
53
 
53
- # Sample classes for test support
54
- c.req 'models', 'samples'
55
- c.req 'samples'
56
-
57
54
  # Errors
58
55
  c.req 'api_error'
59
56
  i.req 'errors', 'connection_not_found'
@@ -64,6 +61,7 @@ i.req 'errors', 'method_unavailable_error'
64
61
  # Endpoint modules
65
62
  m.req 'create'
66
63
  m.req 'deleted'
64
+ m.req 'destroy'
67
65
  m.req 'list'
68
66
  m.req 'search'
69
67
  m.req 'show'
@@ -74,6 +72,7 @@ i.req 'account'
74
72
  i.req 'address'
75
73
  i.req 'brokerage'
76
74
  i.req 'category'
75
+ i.req 'company'
77
76
  i.req 'client'
78
77
  i.req 'configuration'
79
78
  i.req 'credit_card'
@@ -84,8 +83,10 @@ i.req 'order'
84
83
  i.req 'performer'
85
84
  i.req 'phone_number'
86
85
  i.req 'quote'
86
+ i.req 'rate_option'
87
87
  i.req 'shipment'
88
88
  i.req 'ticket_group'
89
+ i.req 'track_detail'
89
90
  i.req 'transaction'
90
91
  i.req 'user'
91
92
  i.req 'venue'
@@ -94,6 +95,7 @@ i.req 'venue'
94
95
  i.req 'accounts'
95
96
  i.req 'brokerages'
96
97
  i.req 'categories'
98
+ i.req 'companies'
97
99
  i.req 'clients'
98
100
  i.req 'configurations'
99
101
  i.req 'events'
@@ -101,8 +103,10 @@ i.req 'offices'
101
103
  i.req 'orders'
102
104
  i.req 'performers'
103
105
  i.req 'quotes'
106
+ i.req 'rate_options'
104
107
  i.req 'shipments'
105
108
  i.req 'ticket_groups'
109
+ i.req 'track_details'
106
110
  i.req 'transactions'
107
111
  i.req 'users'
108
112
  i.req 'venues'
@@ -1,4 +1,5 @@
1
1
  module TicketEvolution
2
2
  class Account < Model
3
+ include Model::ParentalBehavior
3
4
  end
4
5
  end
@@ -1,4 +1,5 @@
1
1
  module TicketEvolution
2
2
  class Client < Model
3
+ include Model::ParentalBehavior
3
4
  end
4
5
  end
@@ -0,0 +1,9 @@
1
+ module TicketEvolution
2
+ class Companies < Endpoint
3
+ include TicketEvolution::Modules::Create
4
+ include TicketEvolution::Modules::Destroy
5
+ include TicketEvolution::Modules::List
6
+ include TicketEvolution::Modules::Show
7
+ include TicketEvolution::Modules::Update
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ module TicketEvolution
2
+ class Company < Model
3
+ end
4
+ end
5
+
@@ -29,7 +29,7 @@ module TicketEvolution
29
29
  request.send(method)
30
30
  else
31
31
  request.send(method) do |req|
32
- req.body = MultiJson.encode(params)
32
+ req.body = MultiJson.encode(params) if params.present?
33
33
  end
34
34
  end
35
35
  end
@@ -41,31 +41,6 @@ module TicketEvolution
41
41
  end
42
42
  end
43
43
 
44
- def new_ostruct_member(name)
45
- begin
46
- name = super
47
- class << self; self; end.class_eval do
48
- define_method(name) do
49
- begin
50
- obj = @table[name]
51
- unless obj.nil?
52
- def obj.endpoint=(e); @endpoint = e; end
53
- def obj.method_missing(method, *args); @endpoint.send(method, *args); end
54
- named_endpoint = "#{self.plural_class_name}::#{name.to_s.camelize}".constantize
55
- obj.endpoint = named_endpoint.new(:parent => self.plural_class.new(:id => self.id, :parent => @connection))
56
- end
57
- obj
58
- rescue
59
- @table[name]
60
- end
61
- end
62
- end
63
- name
64
- rescue
65
- super
66
- end
67
- end
68
-
69
44
  private
70
45
 
71
46
  def process_datum(v)
@@ -0,0 +1,25 @@
1
+ module TicketEvolution
2
+ class Model
3
+ module ParentalBehavior
4
+ def new_ostruct_member(name)
5
+ ostruct_method = super
6
+
7
+ named_endpoint = "#{self.plural_class_name}::#{name.to_s.camelize}".constantize
8
+ class << self; self; end.class_eval do
9
+ define_method(name) do
10
+ obj = @table[name.to_sym]
11
+ unless obj.nil?
12
+ def obj.endpoint=(e); @endpoint = e; end
13
+ def obj.method_missing(method, *args); @endpoint.send(method, *args); end
14
+ obj.endpoint = named_endpoint.new(:parent => self.plural_class.new(:id => self.id, :parent => @connection))
15
+ end
16
+ obj
17
+ end
18
+ end
19
+ ostruct_method
20
+ rescue NameError => e
21
+ ostruct_method
22
+ end
23
+ end
24
+ end
25
+ end
@@ -8,11 +8,18 @@ module TicketEvolution
8
8
  end
9
9
 
10
10
  def build_for_create(response)
11
- singular_class.new(response.body[endpoint_name].first.merge({
12
- :status_code => response.response_code,
13
- :server_message => response.server_message,
14
- :connection => response.body[:connection]
15
- }))
11
+ entries = response.body[endpoint_name].collect do |body|
12
+ singular_class.new(body.merge({
13
+ :status_code => response.response_code,
14
+ :server_message => response.server_message,
15
+ :connection => response.body[:connection]
16
+ }))
17
+ end
18
+ if entries.size == 1
19
+ entries.first
20
+ else
21
+ TicketEvolution::Collection.new(:entries => entries, :code => response.response_code)
22
+ end
16
23
  end
17
24
  end
18
25
  end
@@ -0,0 +1,31 @@
1
+ module TicketEvolution
2
+ module Modules
3
+ module Destroy
4
+ def self.included(klass)
5
+ Class.new{extend SingularClass}.singular_class(klass.name).send(:include, Module.new{
6
+ def destroy
7
+ response = plural_class.new({:parent => @connection, :id => self.id}).destroy
8
+ if response === true
9
+ self.freeze
10
+ end
11
+
12
+ response
13
+ end
14
+
15
+ alias :delete :destroy
16
+ })
17
+ end
18
+
19
+ def destroy(&handler)
20
+ ensure_id
21
+ handler ||= method(:build_for_destroy)
22
+ request(:DELETE, nil, nil, &handler)
23
+ end
24
+
25
+ def build_for_destroy(response)
26
+ return true
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -1,9 +1,9 @@
1
1
  module TicketEvolution
2
2
  module Modules
3
3
  module Show
4
- def show(id, &handler)
4
+ def show(id, params=nil, &handler)
5
5
  handler ||= method(:build_for_show)
6
- request(:GET, "/#{id}", &handler)
6
+ request(:GET, "/#{id}", params, &handler)
7
7
  end
8
8
 
9
9
  alias :find :show
@@ -0,0 +1,5 @@
1
+ module TicketEvolution
2
+ class RateOption < Model
3
+ end
4
+ end
5
+
@@ -0,0 +1,6 @@
1
+ module TicketEvolution
2
+ class RateOptions < Endpoint
3
+ include TicketEvolution::Modules::Create
4
+ end
5
+ end
6
+
@@ -0,0 +1,5 @@
1
+ module TicketEvolution
2
+ class TrackDetail < Model
3
+ end
4
+ end
5
+
@@ -0,0 +1,6 @@
1
+ module TicketEvolution
2
+ class TrackDetails < Endpoint
3
+ include TicketEvolution::Modules::Show
4
+ end
5
+ end
6
+
@@ -1,3 +1,3 @@
1
1
  module TicketEvolution
2
- VERSION = '0.7.3'
2
+ VERSION = '0.7.4'
3
3
  end
@@ -79,11 +79,11 @@ class Fake
79
79
  r
80
80
  end
81
81
 
82
- def self.create_response(endpoint = nil, connection = Fake.connection)
82
+ def self.create_response(endpoint = nil, connection = Fake.connection, number = 1)
83
83
  r = self.response
84
84
  r.body = {
85
85
  :connection => connection,
86
- endpoint.to_s => [
86
+ endpoint.to_s => number.times.collect do
87
87
  {
88
88
  "url" => "/clients/2097",
89
89
  "email_addresses" => [],
@@ -93,7 +93,7 @@ class Fake
93
93
  "name"=>"Morris Moe Szyslak",
94
94
  "id"=>"2097"
95
95
  }
96
- ]
96
+ end
97
97
  }
98
98
  r
99
99
  end
@@ -1,192 +1,200 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
4
  method: :get
5
5
  uri: https://api.sandbox.ticketevolution.com:443/events?per_page=1
6
6
  body: !!null
7
- headers:
8
- accept:
7
+ str: ""
8
+ :@taguri: x-private:null
9
+ headers:
10
+ accept:
9
11
  - application/vnd.ticketevolution.api+json; version=8
10
- x-signature:
12
+ x-signature:
11
13
  - /hAF/kZM8++wnmzsVNPjMtsbrX09Vz4QeKNUeVGR3Dc=
12
- x-token:
14
+ x-token:
13
15
  - 621e8a816a4e31a4dcf9f450e6de150f
14
- response: !ruby/struct:VCR::Response
15
- status: !ruby/struct:VCR::ResponseStatus
16
+ response: !ruby/struct:VCR::Response
17
+ status: !ruby/struct:VCR::ResponseStatus
16
18
  code: 401
17
19
  message: Unauthorized
18
- headers:
19
- content-type:
20
+ headers:
21
+ content-type:
20
22
  - application/vnd.ticketevolution.api+json; version=8; charset=utf-8
21
- transfer-encoding:
23
+ transfer-encoding:
22
24
  - chunked
23
- connection:
25
+ connection:
24
26
  - keep-alive
25
- status:
26
- - '401'
27
- x-powered-by:
27
+ status:
28
+ - "401"
29
+ x-powered-by:
28
30
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
29
- x-ua-compatible:
31
+ x-ua-compatible:
30
32
  - IE=Edge,chrome=1
31
- x-runtime:
32
- - '0.562800'
33
- cache-control:
33
+ x-runtime:
34
+ - "0.562800"
35
+ cache-control:
34
36
  - no-cache
35
- strict-transport-security:
37
+ strict-transport-security:
36
38
  - max-age=31536000
37
- server:
39
+ server:
38
40
  - nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
39
- body: ! '{"error":"Unauthorized"}'
40
- http_version: '1.1'
41
- - !ruby/struct:VCR::HTTPInteraction
42
- request: !ruby/struct:VCR::Request
41
+ body: "{\"error\":\"Unauthorized\"}"
42
+ http_version: "1.1"
43
+ - !ruby/struct:VCR::HTTPInteraction
44
+ request: !ruby/struct:VCR::Request
43
45
  method: :get
44
46
  uri: https://api.sandbox.ticketevolution.com:443/events?per_page=1
45
47
  body: !!null
46
- headers:
47
- accept:
48
+ str: ""
49
+ :@taguri: x-private:null
50
+ headers:
51
+ accept:
48
52
  - application/vnd.ticketevolution.api+json; version=8
49
- x-signature:
53
+ x-signature:
50
54
  - /hAF/kZM8++wnmzsVNPjMtsbrX09Vz4QeKNUeVGR3Dc=
51
- x-token:
55
+ x-token:
52
56
  - 621e8a816a4e31a4dcf9f450e6de150f
53
- response: !ruby/struct:VCR::Response
54
- status: !ruby/struct:VCR::ResponseStatus
57
+ response: !ruby/struct:VCR::Response
58
+ status: !ruby/struct:VCR::ResponseStatus
55
59
  code: 401
56
60
  message: Unauthorized
57
- headers:
58
- content-type:
61
+ headers:
62
+ content-type:
59
63
  - application/vnd.ticketevolution.api+json; version=8; charset=utf-8
60
- transfer-encoding:
64
+ transfer-encoding:
61
65
  - chunked
62
- connection:
66
+ connection:
63
67
  - keep-alive
64
- status:
65
- - '401'
66
- x-powered-by:
68
+ status:
69
+ - "401"
70
+ x-powered-by:
67
71
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
68
- x-ua-compatible:
72
+ x-ua-compatible:
69
73
  - IE=Edge,chrome=1
70
- x-runtime:
71
- - '0.562800'
72
- cache-control:
74
+ x-runtime:
75
+ - "0.562800"
76
+ cache-control:
73
77
  - no-cache
74
- strict-transport-security:
78
+ strict-transport-security:
75
79
  - max-age=31536000
76
- server:
80
+ server:
77
81
  - nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
78
- body: ! '{"error":"Unauthorized"}'
79
- http_version: '1.1'
80
- - !ruby/struct:VCR::HTTPInteraction
81
- request: !ruby/struct:VCR::Request
82
+ body: "{\"error\":\"Unauthorized\"}"
83
+ http_version: "1.1"
84
+ - !ruby/struct:VCR::HTTPInteraction
85
+ request: !ruby/struct:VCR::Request
82
86
  method: :get
83
87
  uri: https://api.sandbox.ticketevolution.com:443/?
84
88
  body: !!null
85
- headers:
86
- accept:
89
+ str: ""
90
+ :@taguri: x-private:null
91
+ headers:
92
+ accept:
87
93
  - application/vnd.ticketevolution.api+json; version=8
88
- x-signature:
94
+ x-signature:
89
95
  - 6tWs3CIO4szKWCKxo8OkrtPCxTsdgjAT32LrpgZvr4M=
90
- x-token:
96
+ x-token:
91
97
  - 621e8a816a4e31a4dcf9f450e6de150f
92
- response: !ruby/struct:VCR::Response
93
- status: !ruby/struct:VCR::ResponseStatus
98
+ response: !ruby/struct:VCR::Response
99
+ status: !ruby/struct:VCR::ResponseStatus
94
100
  code: 301
95
101
  message: Moved Permanently
96
- headers:
97
- content-type:
102
+ headers:
103
+ content-type:
98
104
  - text/html
99
- connection:
105
+ connection:
100
106
  - keep-alive
101
- status:
102
- - '301'
103
- x-powered-by:
107
+ status:
108
+ - "301"
109
+ x-powered-by:
104
110
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
105
- x-ua-compatible:
111
+ x-ua-compatible:
106
112
  - IE=Edge,chrome=1
107
- location:
113
+ location:
108
114
  - http://developer.ticketevolution.com
109
- x-runtime:
110
- - '0.001729'
111
- content-length:
112
- - '102'
113
- server:
115
+ x-runtime:
116
+ - "0.001729"
117
+ content-length:
118
+ - "102"
119
+ server:
114
120
  - nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
115
121
  body: <html><body>You are being <a href="http://developer.ticketevolution.com">redirected</a>.</body></html>
116
- http_version: '1.1'
117
- - !ruby/struct:VCR::HTTPInteraction
118
- request: !ruby/struct:VCR::Request
122
+ http_version: "1.1"
123
+ - !ruby/struct:VCR::HTTPInteraction
124
+ request: !ruby/struct:VCR::Request
119
125
  method: :get
120
126
  uri: https://api.sandbox.ticketevolution.com:443/?
121
127
  body: !!null
122
- headers:
123
- accept:
128
+ str: ""
129
+ :@taguri: x-private:null
130
+ headers:
131
+ accept:
124
132
  - application/vnd.ticketevolution.api+json; version=8
125
- x-signature:
133
+ x-signature:
126
134
  - 6tWs3CIO4szKWCKxo8OkrtPCxTsdgjAT32LrpgZvr4M=
127
- x-token:
135
+ x-token:
128
136
  - 621e8a816a4e31a4dcf9f450e6de150f
129
- response: !ruby/struct:VCR::Response
130
- status: !ruby/struct:VCR::ResponseStatus
137
+ response: !ruby/struct:VCR::Response
138
+ status: !ruby/struct:VCR::ResponseStatus
131
139
  code: 301
132
140
  message: Moved Permanently
133
- headers:
134
- content-type:
141
+ headers:
142
+ content-type:
135
143
  - text/html
136
- connection:
144
+ connection:
137
145
  - keep-alive
138
- status:
139
- - '301'
140
- x-powered-by:
146
+ status:
147
+ - "301"
148
+ x-powered-by:
141
149
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
142
- x-ua-compatible:
150
+ x-ua-compatible:
143
151
  - IE=Edge,chrome=1
144
- location:
152
+ location:
145
153
  - http://developer.ticketevolution.com
146
- x-runtime:
147
- - '0.001729'
148
- content-length:
149
- - '102'
150
- server:
154
+ x-runtime:
155
+ - "0.001729"
156
+ content-length:
157
+ - "102"
158
+ server:
151
159
  - nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
152
160
  body: <html><body>You are being <a href="http://developer.ticketevolution.com">redirected</a>.</body></html>
153
- http_version: '1.1'
154
- - !ruby/struct:VCR::HTTPInteraction
155
- request: !ruby/struct:VCR::Request
161
+ http_version: "1.1"
162
+ - !ruby/struct:VCR::HTTPInteraction
163
+ request: !ruby/struct:VCR::Request
156
164
  method: :get
157
165
  uri: https://api.sandbox.ticketevolution.com:443/
158
- body: !!null
159
- headers:
160
- x-signature:
161
- - EHMCoxW80aA60GAi04x5zWHsthNwAijm8tu85Dw9mw0=
162
- x-token:
166
+ body:
167
+ headers:
168
+ x-signature:
169
+ - d/f1SDPcpxRpECi9Uu1bt6VpeN+zS+J3y3FJia5ZFEM=
170
+ x-token:
163
171
  - 621e8a816a4e31a4dcf9f450e6de150f
164
- accept:
172
+ accept:
165
173
  - application/vnd.ticketevolution.api+json; version=8
166
- accept-encoding:
174
+ accept-encoding:
167
175
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
168
- response: !ruby/struct:VCR::Response
169
- status: !ruby/struct:VCR::ResponseStatus
176
+ response: !ruby/struct:VCR::Response
177
+ status: !ruby/struct:VCR::ResponseStatus
170
178
  code: 301
171
179
  message: Moved Permanently
172
- headers:
173
- content-type:
180
+ headers:
181
+ content-type:
174
182
  - text/html
175
- connection:
183
+ connection:
176
184
  - keep-alive
177
- status:
178
- - '301'
179
- x-powered-by:
185
+ status:
186
+ - "301"
187
+ x-powered-by:
180
188
  - Phusion Passenger (mod_rails/mod_rack) 3.0.11
181
- x-ua-compatible:
189
+ x-runtime:
190
+ - "0.001224"
191
+ content-length:
192
+ - "102"
193
+ x-ua-compatible:
182
194
  - IE=Edge,chrome=1
183
- location:
195
+ location:
184
196
  - http://developer.ticketevolution.com
185
- x-runtime:
186
- - '0.002040'
187
- content-length:
188
- - '102'
189
- server:
197
+ server:
190
198
  - nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
191
199
  body: <html><body>You are being <a href="http://developer.ticketevolution.com">redirected</a>.</body></html>
192
- http_version: '1.1'
200
+ http_version: "1.1"