add CODE_OF_CONDUCT and get_headers

pull/39/head
Ciro 2022-10-28 17:26:07 -03:00
rodzic fd28873063
commit a2872a6dee
4 zmienionych plików z 56 dodań i 4 usunięć

Wyświetl plik

@ -387,7 +387,13 @@ class AppRequest:
self._for_each_header_handler = handler
lib.uws_req_for_each_header(self.req, uws_req_for_each_header_handler, self._ptr)
def get_headers(self):
headers = {}
def copy_headers(key, value):
headers[key] = value
self.for_each_header(copy_headers)
return headers
def get_header(self, lower_case_header):
if isinstance(lower_case_header, str):
data = lower_case_header.encode("utf-8")

@ -1 +1 @@
Subproject commit 39d96d296c279ef1545489c4c79ac476373a68bd
Subproject commit 32e366da8d8d0186b5584867500e490159143a22

Wyświetl plik

@ -18,6 +18,47 @@
# void uws_res_prepare_for_sendfile(int ssl, uws_res_t *res) {
# if (ssl) {
# uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
# auto pair = uwsRes->getSendBuffer(2);
# char *ptr = pair.first;
# ptr[0] = '\r';
# ptr[1] = '\n';
# uwsRes->uncork();
# } else {
# uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
# auto pair = uwsRes->getSendBuffer(2);
# char *ptr = pair.first;
# ptr[0] = '\r';
# ptr[1] = '\n';
# uwsRes->uncork();
# }
# }
# int uws_res_state(int ssl, uws_res_t *res) {
# if (ssl) {
# uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
# return uwsRes->getHttpResponseData()->state;
# } else {
# uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
# return uwsRes->getHttpResponseData()->state;
# }
# }
#uws_res_get_native_handle
# void *uws_res_get_native_handle(int ssl, uws_res_t *res) {
# if (ssl) {
# uWS::HttpResponse<true> *uwsRes = (uWS::HttpResponse<true> *)res;
# return uwsRes->getNativeHandle();
# } else {
# uWS::HttpResponse<false> *uwsRes = (uWS::HttpResponse<false> *)res;
# return uwsRes->getNativeHandle();
# }
# }
# }
# unsigned int uws_num_subscribers(int ssl, uws_app_t *app, const char *topic);
# bool uws_publish(int ssl, uws_app_t *app, const char *topic, size_t topic_length, const char *message, size_t message_length, uws_opcode_t opcode, bool compress);
# void *uws_get_native_handle(int ssl, uws_app_t *app);
@ -42,6 +83,9 @@ async def home(res, req):
print("normal", req.get_url())
req.for_each_header(lambda key,value: print("Header %s: %s" % (key, value)))
print("All headers", req.get_headers())
res.end("Test")
def run_app():

Wyświetl plik

@ -66,9 +66,11 @@ def json(res, req):
async def sleepy_json(res, req):
#get parameters, query, headers anything you need here before first await :)
user_agent = req.get_header("user-agent")
#get all headers
#print all headers
req.for_each_header(lambda key,value: print("Header %s: %s" % (key, value)))
#or if you want get all headers in an dict
print("All headers", req.get_headers())
#req maybe will not be available in direct attached async functions after await
#but if you dont care about req info you can do it
await asyncio.sleep(2) #do something async