Skip to content

Commit d65f349

Browse files
committed
Merge pull request zendesk#110 from zendesk/ciaran/voice_775_voice_client_changes
[VOICE-775] Add voice namespace and phone_number resource.
2 parents adbbdde + eb32efa commit d65f349

16 files changed

+66
-7
lines changed

lib/zendesk_api/association.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require 'zendesk_api/helpers'
22

33
module ZendeskAPI
4-
# Represents an association between two resources
4+
# Represents an association between two resources
55
# @private
66
class Association
77
# @return [Hash] Options passed into the association
@@ -10,7 +10,7 @@ class Association
1010
# Options to pass in
1111
# * class - Required
1212
# * parent - Parent instance
13-
# * path - Optional path instead of resource name
13+
# * path - Optional path instead of resource name
1414
def initialize(options = {})
1515
@options = Hashie::Mash.new(options)
1616
end
@@ -32,7 +32,7 @@ def generate_path(*args)
3232
instance = args.first
3333

3434
namespace = @options[:class].to_s.split("::")
35-
namespace.delete("ZendeskAPI")
35+
%w(ZendeskAPI Voice).each { |ns| namespace.delete(ns) }
3636
has_parent = namespace.size > 1 || (options[:with_parent] && @options.parent)
3737

3838
if has_parent

lib/zendesk_api/client.rb

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
require 'zendesk_api/middleware/response/parse_iso_dates'
1616
require 'zendesk_api/middleware/response/raise_error'
1717
require 'zendesk_api/middleware/response/logger'
18+
require 'zendesk_api/delegator'
1819

1920
module ZendeskAPI
2021
# The top-level class that handles configuration and connection to the Zendesk API.
@@ -33,11 +34,13 @@ def method_missing(method, *args, &block)
3334
options = args.last.is_a?(Hash) ? args.pop : {}
3435

3536
@resource_cache[method] ||= { :class => nil, :cache => ZendeskAPI::LRUCache.new }
36-
3737
if !options.delete(:reload) && (cached = @resource_cache[method][:cache].read(options.hash))
3838
cached
3939
else
40-
@resource_cache[method][:class] ||= ZendeskAPI.const_get(ZendeskAPI::Helpers.modulize_string(Inflection.singular(method)))
40+
klass_as_const = ZendeskAPI::Helpers.modulize_string(Inflection.singular(method))
41+
klass = class_from_namespace(klass_as_const)
42+
43+
@resource_cache[method][:class] ||= klass
4144
@resource_cache[method][:cache].write(options.hash, ZendeskAPI::Collection.new(self, @resource_cache[method][:class], options))
4245
end
4346
end
@@ -109,6 +112,10 @@ def self.check_deprecated_namespace_usage(attributes, name)
109112
end
110113
end
111114

115+
def voice
116+
Delegator.new(self)
117+
end
118+
112119
protected
113120

114121
# Called by {#connection} to build a connection. Can be overwritten in a
@@ -158,6 +165,16 @@ def build_connection
158165

159166
private
160167

168+
def class_from_namespace(klass_as_const)
169+
[ZendeskAPI, ZendeskAPI::Voice].each do |ns|
170+
if ns.const_defined?(klass_as_const)
171+
return ns.const_get(klass_as_const)
172+
end
173+
end
174+
175+
nil
176+
end
177+
161178
def check_url
162179
if !config.allow_http && config.url !~ /^https/
163180
raise ArgumentError, "zendesk_api is ssl only; url must begin with https://"

lib/zendesk_api/delegator.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module ZendeskAPI
2+
class Delegator < SimpleDelegator; end
3+
end
4+

lib/zendesk_api/resources.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,4 +466,10 @@ def self.singular_resource_name
466466
end
467467

468468
class Target < Resource; end
469+
470+
module Voice
471+
class PhoneNumber < Resource
472+
namespace "channels/voice"
473+
end
474+
end
469475
end

spec/core/client_spec.rb

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def build_connection
1919
ZendeskAPI::Client.new do |config|
2020
config.url = "http://www.google.com"
2121
end
22-
end.to raise_error(ArgumentError)
22+
end.to raise_error(ArgumentError)
2323
end
2424

2525
it "should not raise an exception when url isn't ssl and allow_http is set to true" do
@@ -115,7 +115,7 @@ def build_connection
115115

116116
context "#logger" do
117117
before(:each) do
118-
@client = ZendeskAPI::Client.new do |config|
118+
@client = ZendeskAPI::Client.new do |config|
119119
config.url = "https://example.zendesk.com/"
120120
config.logger = subject
121121
end
@@ -232,4 +232,15 @@ def build_connection
232232
client.connection.should == "FOO"
233233
client.connection.object_id.should == client.connection.object_id # it's cached
234234
end
235+
236+
context ZendeskAPI::Voice do
237+
it "defers to voice delegator" do
238+
ZendeskAPI::Client.any_instance.should_receive(:phone_numbers).once
239+
subject.voice.phone_numbers
240+
end
241+
242+
it "manages namespace correctly" do
243+
ZendeskAPI::Voice::PhoneNumber.new(subject, {}).path.should match(/channels\/voice\/phone_numbers/)
244+
end
245+
end
235246
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions":[{"request":{"method":"get","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/61","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 08:52:34 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["201"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["154"],"Etag":["\"1e0d292a3112a5f5cfd02f8ed20ae71c\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjYxLCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDA4OjUyOjMzWiIsIm51bWJlciI6Iisx\nNzU0MzAwMjE5NCIsIm5hbWUiOiIrMSAoNzU0KSAzMDAtMjE5NCIsImRpc3Bs\nYXlfbnVtYmVyIjoiKzEgKDc1NCkgMzAwLTIxOTQiLCJsb2NhdGlvbiI6bnVs\nbCwidG9sbF9mcmVlIjpmYWxzZX19\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 08:52:34 GMT"},{"request":{"method":"get","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/47","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 15:00:22 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["238"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["161"],"Etag":["\"7aa1a2e5a56a8e87db32554a20f3c1ee\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjQ3LCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDE1OjAwOjIxWiIsIm51bWJlciI6Iisx\nNDg0NDk4NjU5MCIsIm5hbWUiOiIrMSAoNDg0KSA0OTgtNjU5MCIsImRpc3Bs\nYXlfbnVtYmVyIjoiKzEgKDQ4NCkgNDk4LTY1OTAiLCJsb2NhdGlvbiI6bnVs\nbCwidG9sbF9mcmVlIjpmYWxzZSwidHJhbnNjcmlwdGlvbiI6dHJ1ZSwicmVj\nb3JkZWQiOnRydWV9fQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 15:00:22 GMT"}],"recorded_with":"VCR 2.5.0"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions":[{"request":{"method":"delete","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/62","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 16:25:11 GMT"],"Content-Type":["text/html; charset=utf-8"],"Content-Length":["1"],"Connection":["keep-alive"],"Status":["200 OK"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["230"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"IA==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 16:25:11 GMT"},{"request":{"method":"get","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/62","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":404,"message":"Not Found"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 16:25:13 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["52"],"Connection":["keep-alive"],"Status":["404 Not Found"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJlcnJvciI6IlJlY29yZE5vdEZvdW5kIiwiZGVzY3JpcHRpb24iOiJOb3Qg\nZm91bmQifQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 16:25:13 GMT"}],"recorded_with":"VCR 2.5.0"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions":[{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/61","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnt9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 13:54:35 GMT"],"Content-Type":["text/html; charset=utf-8"],"Content-Length":["40"],"Connection":["keep-alive"],"Status":["400 Bad Request"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"UmVxdWlyZWQgcGFyYW1ldGVyIG1pc3Npbmc6IHBob25lX251bWJlcg==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 13:54:35 GMT"},{"request":{"method":"get","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/61","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 13:54:36 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["229"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["1435"],"Etag":["\"6b164a12d8618b3cf9050dd43cf4e10e\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjYxLCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDA4OjUyOjMzWiIsIm51bWJlciI6Iisx\nNzU0MzAwMjE5NCIsIm5hbWUiOiJURVNUREFUQSIsImRpc3BsYXlfbnVtYmVy\nIjoiKzEgKDc1NCkgMzAwLTIxOTQiLCJsb2NhdGlvbiI6bnVsbCwidG9sbF9m\ncmVlIjpmYWxzZSwidHJhbnNjcmlwdGlvbiI6dHJ1ZSwicmVjb3JkZWQiOnRy\ndWV9fQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 13:54:36 GMT"},{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/52","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnt9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 15:12:57 GMT"],"Content-Type":["text/html; charset=utf-8"],"Content-Length":["40"],"Connection":["keep-alive"],"Status":["400 Bad Request"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"UmVxdWlyZWQgcGFyYW1ldGVyIG1pc3Npbmc6IHBob25lX251bWJlcg==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 15:12:57 GMT"},{"request":{"method":"get","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/52","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 15:12:58 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["229"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["83"],"Etag":["\"194d7a4561924b7ee2d31072e0e07df5\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjUyLCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDE1OjEyOjUxWiIsIm51bWJlciI6Iisx\nNDY5ODQ0NDI3MiIsIm5hbWUiOiJURVNUREFUQSIsImRpc3BsYXlfbnVtYmVy\nIjoiKzEgKDQ2OSkgODQ0LTQyNzIiLCJsb2NhdGlvbiI6bnVsbCwidG9sbF9m\ncmVlIjpmYWxzZSwidHJhbnNjcmlwdGlvbiI6dHJ1ZSwicmVjb3JkZWQiOnRy\ndWV9fQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 15:12:58 GMT"}],"recorded_with":"VCR 2.5.0"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions":[{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/61","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnt9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 13:54:34 GMT"],"Content-Type":["text/html; charset=utf-8"],"Content-Length":["40"],"Connection":["keep-alive"],"Status":["400 Bad Request"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"UmVxdWlyZWQgcGFyYW1ldGVyIG1pc3Npbmc6IHBob25lX251bWJlcg==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 13:54:34 GMT"},{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/52","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnt9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 15:12:57 GMT"],"Content-Type":["text/html; charset=utf-8"],"Content-Length":["40"],"Connection":["keep-alive"],"Status":["400 Bad Request"],"Cache-Control":["no-cache"],"X-Zendesk-Api-Version":["v2"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"UmVxdWlyZWQgcGFyYW1ldGVyIG1pc3Npbmc6IHBob25lX251bWJlcg==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 15:12:57 GMT"}],"recorded_with":"VCR 2.5.0"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"http_interactions":[{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/61","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnsibmlja25hbWUiOiJURVNUREFUQSJ9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 13:54:33 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["229"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["1090"],"Etag":["\"6b164a12d8618b3cf9050dd43cf4e10e\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjYxLCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDA4OjUyOjMzWiIsIm51bWJlciI6Iisx\nNzU0MzAwMjE5NCIsIm5hbWUiOiJURVNUREFUQSIsImRpc3BsYXlfbnVtYmVy\nIjoiKzEgKDc1NCkgMzAwLTIxOTQiLCJsb2NhdGlvbiI6bnVsbCwidG9sbF9m\ncmVlIjpmYWxzZSwidHJhbnNjcmlwdGlvbiI6dHJ1ZSwicmVjb3JkZWQiOnRy\ndWV9fQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 13:54:33 GMT"},{"request":{"method":"put","uri":"http://agent%40zendesk.com:Testing123%21@support.localhost/api/v2/channels/voice/phone_numbers/52","body":{"encoding":"UTF-8","base64_string":"eyJwaG9uZV9udW1iZXIiOnsibmlja25hbWUiOiJURVNUREFUQSJ9fQ==\n"},"headers":{"Accept":["application/json"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"User-Agent":["ZendeskAPI API 1.0.1"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Server":["nginx/1.2.8"],"Date":["Wed, 21 Aug 2013 15:12:57 GMT"],"Content-Type":["application/json; charset=utf-8"],"Content-Length":["229"],"Connection":["keep-alive"],"Status":["200 OK"],"X-Zendesk-Api-Version":["v2"],"X-Runtime":["235"],"Etag":["\"194d7a4561924b7ee2d31072e0e07df5\""],"Cache-Control":["private, max-age=0, must-revalidate"],"X-Zendesk-Origin-Server":["calvin.local"],"X-Zendesk-User-Id":["2"]},"body":{"encoding":"US-ASCII","base64_string":"eyJwaG9uZV9udW1iZXIiOnsiaWQiOjUyLCJjb3VudHJ5X2lkIjoxNTYsImNy\nZWF0ZWRfYXQiOiIyMDEzLTA4LTIxVDE1OjEyOjUxWiIsIm51bWJlciI6Iisx\nNDY5ODQ0NDI3MiIsIm5hbWUiOiJURVNUREFUQSIsImRpc3BsYXlfbnVtYmVy\nIjoiKzEgKDQ2OSkgODQ0LTQyNzIiLCJsb2NhdGlvbiI6bnVsbCwidG9sbF9m\ncmVlIjpmYWxzZSwidHJhbnNjcmlwdGlvbiI6dHJ1ZSwicmVjb3JkZWQiOnRy\ndWV9fQ==\n"},"http_version":null},"recorded_at":"Wed, 21 Aug 2013 15:12:57 GMT"}],"recorded_with":"VCR 2.5.0"}

0 commit comments

Comments
 (0)