示例#1
0
    def performGET(self, request):
        """
        GETs the content of this storage resource.
        If the content-type of the request is set to application/link-format
        or if the resource does not store any data, the contained sub-resources
        are returned in link format.

        :param request:
        """
        #  create response
        response = Response(codes.RESP_CONTENT)
        #  check if link format requested
        if request.contentType == mediaCodes.APPLICATION_LINK_FORMAT or not self.data:
            #  respond with list of sub-resources in link format
            response.setPayload(
                LinkFormat.serialize(self,
                                     request.getOptions(options.URI_QUERY),
                                     True), mediaCodes.APPLICATION_LINK_FORMAT)
        else:
            #  load data into payload
            response.payload = self.data
            #  set content type
            if getContentTypeCode().size() > 0:
                response.setContentType(getContentTypeCode().get(0))
                #  complete the request
        request.respond(response)
示例#2
0
    def performGET(self, request):
        """

        :param request:
        """
        response = Response(codes.RESP_CONTENT)
        response.payload = self.time
        response.contentType = mediaCodes.text
        response.maxAge = 5
        request.respond(response)  # complete the request
示例#3
0
 def performGET(self, request):
     """
     Give back a image in a binary form.
     :param request:
     """
     ct = mediaCodes.png
     fileData = bytearray()  # load representation from file
     with open("img/python.png") as f:
         fileData = f.read()
     response = Response(codes.RESP_CONTENT)
     response.payload = fileData
     response.contentType = ct  # set content type
     request.respond(response)  # complete the request
示例#4
0
 def performGET(self, request):
     """
     Give back a image in a binary form.
     :param request:
     """
     ct = mediaCodes.png
     fileData = bytearray()  # load representation from file
     with open("img/python.png") as f:
         fileData = f.read()
     response = Response(codes.RESP_CONTENT)
     response.payload = fileData
     response.contentType = ct  # set content type
     request.respond(response)  # complete the request
示例#5
0
def query():
    """
    Resource accepting query parameters

    This resource implements a test of specification for the
    ETSI IoT CoAP Plugtests.

    TD_COAP_CORE_13
    """
    if request.method = "GET":
        response = Response(code=codes.content, contentType=mediaCodes.text)
        payload = {
            "messageID": request.messageID,
            "code": request.code,
            "options": request.args,
        }
        response.payload = str(payload)
        return response  # complete the request
示例#6
0
    def performGET(self, request):
        """
        GETs the content of this storage resource.
        If the content-type of the request is set to application/link-format
        or if the resource does not store any data, the contained sub-resources
        are returned in link format.

        :param request:
        """
        #  create response
        response = Response(codes.RESP_CONTENT)
        #  check if link format requested
        if request.contentType == mediaCodes.APPLICATION_LINK_FORMAT or not self.data:
            #  respond with list of sub-resources in link format
            response.setPayload(LinkFormat.serialize(self, request.getOptions(options.URI_QUERY), True), mediaCodes.APPLICATION_LINK_FORMAT)
        else:
            #  load data into payload
            response.payload = self.data
            #  set content type
            if getContentTypeCode().size() > 0:
                response.setContentType(getContentTypeCode().get(0))
                #  complete the request
        request.respond(response)
示例#7
0
def default():
    """
    This resource implements a Default test resource for the
    ETSI IoT CoAP Plugtests.

    - TD_COAP_CORE_01
    - TD_COAP_CORE_02
    - TD_COAP_CORE_03
    - TD_COAP_CORE_04
    - TD_COAP_CORE_05
    - TD_COAP_CORE_06
    - TD_COAP_CORE_07
    - TD_COAP_CORE_08
    - TD_COAP_CORE_10
    - TD_COAP_CORE_11
    - TD_COAP_CORE_14
    - TD_COAP_CORE_18
    - TD_COAP_CORE_21
    - TD_COAP_CORE_22
    - TD_COAP_CORE_23
    - TD_COAP_CORE_24
    - TD_COAP_CORE_27
    - TD_COAP_CORE_28
    - TD_COAP_CORE_29
    - TD_COAP_LINK_08
    - TD_COAP_LINK_10
    """
    if request.method == "GET:"

        response = Response(codes.content, contentType=mediaCodes.text)
        if request.token:
            response.token = request.token

        if len(request.payload) > 64:
            payload = request.payload[:62] + '»'
        else:
            response.payload = request.payload

        return response # complete the request

    if request.method == "POST":
        response = Response(codes.created)

        payload = {"type": request.type,
                   "code": request.code,
                   "Message ID": request.MID,
                   "Content Type": request.contentType,
                   "Size": request.payloadSize}

        if request.token:
            payload["Token String"] = request.getTokenString()

        if len(str(payload)) > 64:
            payload.delete(62, len(payload))
            payload += '>>'

        response.payload = str(payload)
        response.contentType = mediaCodes.text
        response.path = "/nirvana"
        return response  # complete the request

    if request.method == "PUT":
        response = Response(codes.changed)

        payload = str(request)

        if request.token:
            payload += "\nTo: "
            payload += request.token

        if len(payload) > 64:
            payload.delete(62, len(payload))
            payload += '>>'

        response.payload = str(payload)
        response.contentType = mediaCodes.text
        return response  # complete the request


    if request.method == "DELETE":
        response = Response(codes.deleted)

        payload = str(request)
        if request.token:
            payload += "Token: "
            payload += request.getTokenString()

        if len(payload) > 64:
            payload.delete(62, len(payload))
            payload += '>>'

        response.payload = payload
        response.contentType = mediaCodes.text
        return response  # complete the request