Initial WebFinger
- Add headers to PRequest
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user