def handle_windows_windows_pub_POST2(request):
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    request.setHeader("Allow", "GET, PUT, OPTIONS")
    json_data = json.loads(request.content.getvalue())
    logging.debug(json_data)
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0]
    lastrowid = SubscriberDB.insertClient(json_data["uri"], json_data["method"], json_data["accept"], "1")
    if not None:
        if accept_type == "application/json":
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                '{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}'
                % (lastrowid, json_data["uri"], json_data["method"], json_data["accept"])
            )
        elif accept_type == "application/xml":
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                "<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>"
                % (lastrowid, json_data["uri"], json_data["method"], json_data["accept"])
            )
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(
                request, ClientElement(lastrowid, json_data["uri"], json_data["method"], json_data["accept"], "")
            ).addCallback(request.write)
            request.finish()
def handle_sensor_pub_POST(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
    json_data = json.loads(request.content.getvalue())
    logging.debug(json_data)
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0]
    lastrowid = SubscriberDB.insertClient(json_data['uri'], json_data['method'], json_data['accept'], '2')
    if not None:
        if accept_type == "application/json":
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str('{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}' % (lastrowid, json_data['uri'], json_data['method'], json_data['accept']))
        elif accept_type == "application/xml":
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str('<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>' % (lastrowid, json_data['uri'], json_data['method'], json_data['accept']))
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(request, ClientElement(lastrowid, json_data['uri'], json_data['method'], json_data['accept'], '')).addCallback(request.write)
            request.finish()