Exemplo n.º 1
0
def upload(req):
	# We only allow POST's.
	if req.method is not kore.METHOD_POST:
		req.response_header("allow", "post")
		req.response(400, b'')
		return

	# Ask kore to parse incoming multipart data.
	req.populate_multi()

	# Lookup the file called "file".
	file = req.file_lookup("file")
	if not file:
		req.response(400, b'')
		return

	kore.log(kore.LOG_INFO,
	    "%s (%s, filename=%s)" % (file, file.name, file.filename))

	# Open target file.
	f = open(file.filename, "wb")
	if not f:
		req.response(500, b'')
		return

	# Read all data from incoming file and write it to the output file.
	len = True
	while len:
		len, bytes = file.read(1024)
		kore.log(kore.LOG_INFO, "got %d bytes of data" % len)
		f.write(bytes)

	f.close()
	req.response(200, b'')
Exemplo n.º 2
0
def serve_logout(req):
    kore.log(kore.LOG_INFO, "logout called!")
    req.response_header("content-type", "application/json")
    req.response(
        200,
        json.dumps({
            "code": 20000,
            'method': 'logout',
            'success': True
        }).encode())
Exemplo n.º 3
0
Arquivo: index.py Projeto: zjsxwc/kore
def json_parse(req):
	if req.method != kore.METHOD_PUT:
		req.response(400, b'')
	else:
		data = json.loads(req.body)
		kore.log(kore.LOG_INFO, "loaded json %s" % data)
		if data["hello"] == 123:
			kore.log(kore.LOG_INFO, "hello is 123!")

		req.response(200, "ok".encode("utf-8"))
Exemplo n.º 4
0
async def queue_helper():
    while True:
        # Wait for a dictionary to arrive.
        obj = await tq.pop()
        kore.log(kore.LOG_INFO, "coro(): received %s" % obj)

        # Create a message to send back.
        msg = "%d = %s" % (kore.time(), obj["msg"])

        # Send it on the received queue.
        obj["rq"].push(msg)
Exemplo n.º 5
0
async def queue_helper():
    while True:
        # Wait for a dictionary to arrive.
        obj = await tq.pop()
        kore.log(kore.LOG_INFO, "coro(): received %s" % obj)

        # Create a message to send back.
        msg = "%d = %s" % (kore.time(), obj["msg"])

        # Send it on the received queue.
        obj["rq"].push(msg)
Exemplo n.º 6
0
def serve_login(req):
    kore.log(kore.LOG_INFO, "login called!")
    req.response_header("content-type", "application/json")
    req.response(
        200,
        json.dumps({
            "code": 20000,
            'method': 'login',
            'success': True,
            'data': {
                'token': 'bb9400bf48694218ae6d39a3b2578df2'
            }
        }).encode())
Exemplo n.º 7
0
def serve_info(req):
    kore.log(kore.LOG_INFO, "info called!")
    req.response_header("content-type", "application/json")
    req.response(
        200,
        json.dumps({
            "code": 20000,
            'method': 'login',
            'success': True,
            "data": {
                "roles": ["admin"],
                "name": "admin",
                "avatar":
                "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
                'token': 'bb9400bf48694218ae6d39a3b2578df2'
            }
        }).encode())
Exemplo n.º 8
0
def state_test(req):
	# If we don't have a state this is the first time we're called.
	if req.state is None:
		kore.log(kore.LOG_INFO, "state_test: first time")
		req.state = "hello world"

		# Tell Kore to call us again next event loop.
		return kore.RESULT_RETRY

	# We have been called before.
	kore.log(kore.LOG_INFO, "state_test: second time, with %s" % req.state)
	req.response(200, req.state.encode("utf-8"))

	# We *MUST* reset state back to None before returning RESULT_OK
	req.state = None;

	return kore.RESULT_OK
Exemplo n.º 9
0
async def async_socket(req):
    # Create the socket using Pythons built-in socket class.
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # Set it to nonblocking.
    sock.setblocking(False)

    # Create a kore.socket with kore.socket_wrap().
    conn = kore.socket_wrap(sock)

    # Asynchronously connect to 127.0.0.1 port 8888
    await conn.connect("127.0.0.1", 8888)
    kore.log(kore.LOG_INFO, "connected!")

    # Now send the GET request
    msg = "GET /socket-test HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
    await conn.send(msg.encode())
    kore.log(kore.LOG_INFO, "request sent!")

    # Read the response.
    data = await conn.recv(8192)
    kore.log(kore.LOG_INFO, "got response!")

    # Respond with the response from /socket-test.
    req.response(200, data)

    conn.close()
Exemplo n.º 10
0
async def async_socket(req):
    # Create the socket using Pythons built-in socket class.
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # Set it to nonblocking.
    sock.setblocking(False)

    # Create a kore.socket with kore.socket_wrap().
    conn = kore.socket_wrap(sock)

    # Asynchronously connect to 127.0.0.1 port 8888
    await conn.connect("127.0.0.1", 8888)
    kore.log(kore.LOG_INFO, "connected!")

    # Now send the GET request
    msg = "GET /socket-test HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n"
    await conn.send(msg.encode())
    kore.log(kore.LOG_INFO, "request sent!")

    # Read the response.
    data = await conn.recv(8192)
    kore.log(kore.LOG_INFO, "got response!")

    # Respond with the response from /socket-test.
    req.response(200, data)

    # Close the underlying socket, no need to close the wrapped kore.socket
    sock.close()
Exemplo n.º 11
0
def onconnect(c):
    kore.log(kore.LOG_INFO, "{0!r}: connected".format(c))
Exemplo n.º 12
0
Arquivo: index.py Projeto: zjsxwc/kore
def page(req):
	kore.log(kore.LOG_INFO,
	    "%s path is %s - host is %s" % (req, req.path, req.host))
	kore.log(kore.LOG_INFO, "connection is %s" % req.connection)
	xframe = req.request_header("xframe")
	if xframe != None:
		kore.log(kore.LOG_INFO, "xframe header present: '%s'" % xframe)
	if req.method == kore.METHOD_POST:
		try:
			length, body = req.body_read(1024)
			kore.log(kore.LOG_INFO, "POST and got %d bytes! (%s)" %
			    (length, body.decode("utf-8")))
		except RuntimeError as r:
			kore.log(kore.LOG_INFO, "oops runtime error %s" % r)
			req.response(500, b'')
		except:
			kore.log(kore.LOG_INFO, "oops other error")
			req.response(500, b'')
		else:
			req.response_header("content-type", "text/plain")
			req.response(200, body)
	else:
		req.populate_get()
		id = req.argument("id")
		if id != None:
			kore.log(kore.LOG_INFO, "got id of %s" % id)
		req.response_header("content-type", "text/plain")
		req.response(200, "hello 1234".encode("utf-8"))
Exemplo n.º 13
0
Arquivo: index.py Projeto: zjsxwc/kore
def kore_worker_configure():
	kore.log(kore.LOG_INFO, "kore_worker_configure called!")
Exemplo n.º 14
0
Arquivo: index.py Projeto: zjsxwc/kore
def kore_parent_configure():
	# Listen on an additional interface and port.
	kore.listen("127.0.0.1", "8889", "")
	kore.log(kore.LOG_INFO, "kore_parent_configure called!")
Exemplo n.º 15
0
Arquivo: index.py Projeto: zjsxwc/kore
def onload(action):
	kore.log(kore.LOG_INFO, "python module onload called with %d!" % action)
	return kore.RESULT_OK
Exemplo n.º 16
0
Arquivo: index.py Projeto: zjsxwc/kore
def python_validator(req, data):
	kore.log(kore.LOG_NOTICE, "python validator called %s" % data)
	return kore.RESULT_OK
Exemplo n.º 17
0
Arquivo: index.py Projeto: zjsxwc/kore
def python_auth(req, data):
	kore.log(kore.LOG_NOTICE, "python auth called %s" % data)
	return kore.RESULT_OK
Exemplo n.º 18
0
Arquivo: index.py Projeto: zjsxwc/kore
def kaka(req):
	req.populate_cookies()
	cookie = req.cookie("hello")
	if cookie is not None:
		kore.log(kore.LOG_INFO, "got hello with value %s" % cookie)
	req.response(200, b'')
Exemplo n.º 19
0
def ondisconnect(c):
    kore.log(kore.LOG_INFO, "{0!r}: disconnectin".format(c))
Exemplo n.º 20
0
def onmessage(c, op, data):
    kore.log(kore.LOG_INFO,
             "conn:{0!r} op:{1!r} data:{2!r}".format(c, op, data))
    c.websocket_send(op, "{0}".format(datetime.datetime.now()).encode())
Exemplo n.º 21
0
def onconnect(c):
	kore.log(kore.LOG_INFO, "%s: py connected" % c)
Exemplo n.º 22
0
def ondisconnect(c):
	kore.log(kore.LOG_INFO, "%s: py disconnecting" % c)
Exemplo n.º 23
0
def ondisconnect(c):
    kore.log(kore.LOG_INFO, "%s: py disconnecting" % c)
Exemplo n.º 24
0
def onconnect(c):
    kore.log(kore.LOG_INFO, "%s: py connected" % c)