testing and debugging

This commit is contained in:
Blue 2024-01-09 14:02:56 -03:00
parent 5d765958e5
commit a1ab1339e3
Signed by: blue
GPG key ID: 9B203B252A63EE38
10 changed files with 38 additions and 47 deletions

View file

@ -8,8 +8,8 @@
#include "request/redirect.h"
#include "database/exceptions.h"
Handler::Poll::Poll (Server* server):
Handler("login", Request::Method::get),
Handler::Poll::Poll (std::weak_ptr<Server> server):
Handler("poll", Request::Method::get),
server(server)
{}
@ -20,9 +20,13 @@ void Handler::Poll::handle (Request& request) {
if (access.size() != 32)
return error(request, Result::tokenProblem, Response::Status::badRequest);
std::shared_ptr<Server> srv = server.lock();
if (!srv)
return error(request, Result::unknownError, Response::Status::internalError);
try {
Session& session = server->getSession(access);
Session& session = srv->getSession(access);
throw Redirect(&session);
} catch (const Redirect& r) {
throw r;

View file

@ -3,6 +3,8 @@
#pragma once
#include <memory>
#include "handler.h"
#include "request/request.h"
#include "response/response.h"
@ -12,7 +14,7 @@ namespace Handler {
class Poll : public Handler {
public:
Poll(Server* server);
Poll(std::weak_ptr<Server> server);
void handle(Request& request) override;
enum class Result {
@ -25,7 +27,7 @@ public:
static void error(Request& request, Result result, Response::Status status);
private:
Server* server;
std::weak_ptr<Server> server;
};