Prometheus Client Library for Modern C++
Loading...
Searching...
No Matches
basic_auth.h
1#pragma once
2
3#include <functional>
4#include <string>
5
6#include "CivetServer.h"
7#include "civetweb.h"
8
9namespace prometheus {
10
14class BasicAuthHandler : public CivetAuthHandler {
15 public:
16 using AuthFunc = std::function<bool(const std::string&, const std::string&)>;
17 explicit BasicAuthHandler(AuthFunc callback, std::string realm);
18
28 bool authorize(CivetServer* server, mg_connection* conn) override;
29
30 private:
31 bool AuthorizeInner(CivetServer* server, mg_connection* conn);
32 void WriteUnauthorizedResponse(mg_connection* conn);
33
34 AuthFunc callback_;
35 std::string realm_;
36};
37
38} // namespace prometheus
Definition basic_auth.h:14
bool authorize(CivetServer *server, mg_connection *conn) override
Definition basic_auth.cc:13