Skip to content

Instantly share code, notes, and snippets.

@paul
Created January 6, 2011 22:17
Show Gist options
  • Save paul/768712 to your computer and use it in GitHub Desktop.
Save paul/768712 to your computer and use it in GitHub Desktop.
http = require 'http'
class SSBERequest
constructor: (@backend) ->
@client = http.createClient 80, @backend
@request_headers = {
'Accept': 'application/vnd.absperf.sskj1+json',
'Host': @backend
}
request: (method, resource, callback) ->
req = @client.request('GET', '/service_descriptors', @request_headers)
req.end()
req.on 'response', (resp) ->
resp.on 'data', (chunk) ->
callback JSON.parse(chunk)
discoverResource: (serviceName, resourceName, callback) ->
serviceType = "http://systemshepherd.com/services/#{serviceName}"
@request 'GET', '/service_descriptors', (data) ->
service = data['items'].filter (item) ->
item['service_type'] == serviceType
service = service[0]
@request 'GET', service.href, (data) ->
resource = data['items'].filter (item) ->
item['name'] == resourceName
resource = resource[0]
callback resource
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment