password hash cheching
This commit is contained in:
parent
99a9fd507e
commit
534c282226
25 changed files with 390 additions and 84 deletions
|
@ -3,10 +3,25 @@
|
|||
|
||||
#include "response.h"
|
||||
|
||||
constexpr std::array<std::string_view, static_cast<uint8_t>(Response::Status::__size)> statusCodes = {
|
||||
#include "request/request.h"
|
||||
|
||||
constexpr std::array<uint16_t, static_cast<uint8_t>(Response::Status::__size)> statusCodes = {
|
||||
200,
|
||||
400,
|
||||
401,
|
||||
404,
|
||||
405,
|
||||
409,
|
||||
500
|
||||
};
|
||||
|
||||
constexpr std::array<std::string_view, static_cast<uint8_t>(Response::Status::__size)> statuses = {
|
||||
"Status: 200 OK",
|
||||
"Status: 400 Bad Request",
|
||||
"Status: 401 Unauthorized",
|
||||
"Status: 404 Not Found",
|
||||
"Status: 405 Method Not Allowed",
|
||||
"Status: 409 Conflict",
|
||||
"Status: 500 Internal Error"
|
||||
};
|
||||
|
||||
|
@ -33,9 +48,9 @@ void Response::send() const {
|
|||
// OStream out = status == Status::ok ?
|
||||
// request.getOutputStream() :
|
||||
// request.getErrorStream();
|
||||
OStream out = request.getOutputStream(this);
|
||||
OStream out = request.getOutputStream();
|
||||
|
||||
out << statusCodes[static_cast<uint8_t>(status)];
|
||||
out << statuses[static_cast<uint8_t>(status)];
|
||||
if (!body.empty())
|
||||
out << '\n'
|
||||
<< contentTypes[static_cast<uint8_t>(type)]
|
||||
|
@ -43,7 +58,11 @@ void Response::send() const {
|
|||
<< '\n'
|
||||
<< body;
|
||||
|
||||
request.responseIsComplete(this);
|
||||
request.responseIsComplete();
|
||||
}
|
||||
|
||||
uint16_t Response::statusCode() const {
|
||||
return statusCodes[static_cast<uint8_t>(status)];
|
||||
}
|
||||
|
||||
void Response::setBody(const std::string& body) {
|
||||
|
|
|
@ -9,15 +9,20 @@
|
|||
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include "request/request.h"
|
||||
#include "stream/ostream.h"
|
||||
|
||||
class Request;
|
||||
class Response {
|
||||
friend class Request;
|
||||
|
||||
public:
|
||||
enum class Status {
|
||||
ok,
|
||||
badRequest,
|
||||
unauthorized,
|
||||
notFound,
|
||||
methodNotAllowed,
|
||||
conflict,
|
||||
internalError,
|
||||
__size
|
||||
};
|
||||
|
@ -27,13 +32,17 @@ public:
|
|||
json,
|
||||
__size
|
||||
};
|
||||
Response(Request& request);
|
||||
Response(Request& request, Status status);
|
||||
|
||||
uint16_t statusCode() const;
|
||||
|
||||
void send() const;
|
||||
void setBody(const std::string& body);
|
||||
void setBody(const nlohmann::json& body);
|
||||
|
||||
private:
|
||||
Response(Request& request);
|
||||
Response(Request& request, Status status);
|
||||
|
||||
private:
|
||||
Request& request;
|
||||
Status status;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue