       message: message
       format: format
     }
-    @_httpAgentPost("/agent/v2/stream/#{streamId}/message/create", true, body)
+    @_httpAgentPost("/agent/v2/stream/#{streamId}/message/create", body)
 
   getMessages: (streamId) =>
-    @_httpAgentGet("/agent/v2/stream/#{streamId}/message", true)
+    @_httpAgentGet("/agent/v2/stream/#{streamId}/message")
 
   createDatafeed: =>
-    @_httpAgentPost('/agent/v1/datafeed/create', true)
+    @_httpAgentPost('/agent/v1/datafeed/create')
 
   readDatafeed: (datafeedId) =>
-    @_httpAgentGet("/agent/v2/datafeed/#{datafeedId}/read",  false)
+    @_httpAgentGet("/agent/v2/datafeed/#{datafeedId}/read")
 
   createIM: (userId) =>
-    @_httpPodPost('/pod/v1/im/create', true, [userId])
+    @_httpPodPost('/pod/v1/im/create', [userId])
 
-  _httpPodGet: (path, failUnlessHttp200) =>
+  _httpPodGet: (path) =>
     @sessionAuth().then (value) =>
       headers = {
         sessionToken: value.token
       }
-      @_httpGet(@agentHost, path, headers, failUnlessHttp200)
+      @_httpGet(@agentHost, path, headers)
 
-  _httpPodPost: (path, failUnlessHttp200, body) =>
+  _httpPodPost: (path, body) =>
     @sessionAuth().then (value) =>
       headers = {
         sessionToken: value.token
       }
-      @_httpPost(@agentHost, path, headers, failUnlessHttp200, body)
+      @_httpPost(@agentHost, path, headers, body)
 
-  _httpAgentGet: (path, failUnlessHttp200) =>
+  _httpAgentGet: (path) =>
     Q.all([@sessionAuth(), @keyAuth()]).then (values) =>
       headers = {
         sessionToken: values[0].token
         keyManagerToken: values[1].token
       }
-      @_httpGet(@agentHost, path, headers, failUnlessHttp200)
+      @_httpGet(@agentHost, path, headers)
 
-  _httpAgentPost: (path, failUnlessHttp200, body) =>
+  _httpAgentPost: (path, body) =>
     Q.all([@sessionAuth(), @keyAuth()]).then (values) =>
       headers = {
         sessionToken: values[0].token
         keyManagerToken: values[1].token
       }
-      @_httpPost(@agentHost, path, headers, failUnlessHttp200, body)
+      @_httpPost(@agentHost, path, headers, body)
 
-  _httpGet: (host, path, headers = {}, failUnlessHttp200) =>
-    @_httpRequest('GET', host, path, headers, failUnlessHttp200)
+  _httpGet: (host, path, headers = {}) =>
+    @_httpRequest('GET', host, path, headers)
 
-  _httpPost: (host, path, headers = {}, failUnlessHttp200, body) =>
-    @_httpRequest('POST', host, path, headers, failUnlessHttp200, body)
+  _httpPost: (host, path, headers = {}, body) =>
+    @_httpRequest('POST', host, path, headers, body)
 
-  _httpRequest: (method, host, path, headers, failUnlessHttp200, body) =>
+  _httpRequest: (method, host, path, headers, body) =>
     deferred = Q.defer()
     options = {
       baseUrl: 'https://' + host

      logger.info "Initialising with sessionToken: #{values[0].token} and keyManagerToken: #{values[1].token}"

  echo: (body) =>
    @_httpAgentPost('/agent/v1/util/echo', true, body)

  whoAmI: =>
    @_httpPodGet('/pod/v1/sessioninfo', true)

  getUser: ({userId, username, emailAddress}) =>
    if userId?
      @_httpPodGet("/pod/v2/user?uid=#{userId}&local=true", true)
    else if username?
      @_httpPodGet("/pod/v2/user?username=#{username}&local=true", true)
    else if emailAddress?
      @_httpPodGet("/pod/v2/user?email=#{emailAddress}&local=true", true)
    else
      Q.reject('No user arguement supplied')


        logger.warning "received #{res?.statusCode} error response from https://#{host}#{path}: #{err}"
        deferred.reject(new Error(err))
      else
        if Math.floor(res?.statusCode / 100) != 2
          err = "received #{res?.statusCode} response from https://#{host}#{path}: #{JSON.stringify(data)}"
          logger.warning err
          deferred.reject new Error(err)
