Initial WebFinger

- Add headers to PRequest
This commit is contained in:
2024-02-19 01:03:40 -03:00
parent b0847660cc
commit 58028ca68e
4 changed files with 122 additions and 37 deletions

View File

@@ -13,6 +13,7 @@ struct PRequest {
string url;
string method = "GET";
QueryParam[] params;
string[string] headers;
string body = "";
string contentType = "text/plain";
@@ -33,19 +34,25 @@ class RequestPool {
this.m_taskPool = new TaskPool(this.m_totalWorkers);
}
void request(PRequest request) {
Response request(PRequest request, bool blocking = false) {
auto t = task(&this.m_run, request);
this.m_taskPool.put(t);
if (blocking)
return t.yieldForce();
return null;
}
void stop() {
this.m_taskPool.finish(true);
}
private void m_run(PRequest request) {
Response m_run(PRequest request) {
Request rq = Request();
rq.addHeaders(request.headers);
_l.debugF!"Requesting [%s] %s"(request.method, request.url);
_l.debugF!"[%s] %s"(request.method, request.url);
Response rs;
@@ -60,10 +67,10 @@ class RequestPool {
default:
errorF!"Unknown request method: %s"(request.method);
return;
break;
return null;
}
_l.debugF!"Request %s result code: %d"(request.url, rs.code);
_l.debugF!"[%s] %s result code: %d"(request.method, request.url, rs.code);
return rs;
}
}