def createResourceNode(self, node): # this is a bit inelegant because it's not using a hypermedia form self._url = self._server + node.getModel()[v._bn] #print "payload: ", node._resource.serialize() self._request = HypermediaHttpRequest(self._url, \ {v.method: v.post, v.contentFormat: v.senmlCollectionType, v.payload: node._resource.serialize() }) self._request.send() self._request.getResponse()
def getItem(self, uriPath="/"): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.get, v.contentFormat:v.plainTextType }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return json.loads(self._request._requestMap[v.response][v.payload] )
def putItem(self, uriPath="/", newItem = None): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.put, v.contentFormat:v.plainTextType, v.payload:json.dumps(newItem) }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return
def _getResource(self, uriPath="/"): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.get, v.contentFormat:v.senmlCollectionType }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return ResourceNode( json.loads(self._request._requestMap[v.response][v.payload] ) )
class Server: def __init__(self, server=None): if server: self._server = server def createResourceNode(self, node): # this is a bit inelegant because it's not using a hypermedia form self._url = self._server + node.getModel()[v._bn] #print "payload: ", node._resource.serialize() self._request = HypermediaHttpRequest(self._url, \ {v.method: v.post, v.contentFormat: v.senmlCollectionType, v.payload: node._resource.serialize() }) self._request.send() self._request.getResponse() # print "Status: ", self._request._requestMap[v.response][v.status], # if v.location in self._request._requestMap[v.options] : # print "Location: ", self._request._requestMap[v.options][v.location], def getResources(self, uriPath, resourceArray): self._getResourceRecursive(uriPath, resourceArray) def _getResourceRecursive(self, uriPath, resourceArray): #print "subresource link: ", uriPath resourceNode = self._getResource(uriPath) resourceArray.append(resourceNode) for link in resourceNode._links.get({v._rel:v._sub}) : self._getResourceRecursive(resourceNode._baseName + link[v._href], resourceArray) def _getResource(self, uriPath="/"): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.get, v.contentFormat:v.senmlCollectionType }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return ResourceNode( json.loads(self._request._requestMap[v.response][v.payload] ) ) def getItem(self, uriPath="/"): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.get, v.contentFormat:v.plainTextType }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return json.loads(self._request._requestMap[v.response][v.payload] ) def putItem(self, uriPath="/", newItem = None): self._url = self._server + uriPath self._request = HypermediaHttpRequest(self._url, \ {v.method:v.put, v.contentFormat:v.plainTextType, v.payload:json.dumps(newItem) }) self._request.send() self._request.getResponse() #print "payload: ", self._request._requestMap[v.response][v.payload] return