WIP: basic server, no features

This commit is contained in:
Aaron Kimbrell
2026-01-25 22:33:51 -06:00
parent c723ce2588
commit f1847d1f20
67 changed files with 7655 additions and 37 deletions

38
dWeb/IHTTPMiddleware.h Normal file
View File

@@ -0,0 +1,38 @@
#pragma once
#include <memory>
#include "HTTPContext.h"
// Forward declaration
struct HTTPReply;
/**
* Middleware Interface
*
* All middleware implements this interface and is called in order during request processing.
* Middleware can:
* - Inspect and modify the request (HTTPContext)
* - Populate authentication/authorization info
* - Short-circuit the chain by setting a reply and returning false
* - Pass to the next middleware by returning true
*/
class IHTTPMiddleware {
public:
virtual ~IHTTPMiddleware() = default;
/**
* Process the request through this middleware
*
* @param context The HTTP request context
* @param reply The HTTP reply (can be populated to short-circuit)
* @return true to continue to next middleware, false to stop processing
*/
virtual bool Process(HTTPContext& context, HTTPReply& reply) = 0;
/**
* Get a friendly name for this middleware
*/
virtual std::string GetName() const = 0;
};
using MiddlewarePtr = std::shared_ptr<IHTTPMiddleware>;