4#ifndef _Stroika_Framework_WebService_Server_Basic_h_
5#define _Stroika_Framework_WebService_Server_Basic_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
9#include "Stroika/Frameworks/WebServer/Request.h"
10#include "Stroika/Frameworks/WebServer/RequestHandler.h"
11#include "Stroika/Frameworks/WebServer/Response.h"
13#include "Stroika/Frameworks/WebService/Basic.h"
14#include "Stroika/Frameworks/WebService/OpenAPI/Specification.h"
25namespace Stroika::Frameworks::WebService::Server {
35 using WebServer::Request;
36 using WebServer::Response;
45 void ExpectedMethod (
const Request& request,
const Set<String>& methods,
const optional<String>& fromInMessage = nullopt);
46 void ExpectedMethod (
const Request& request,
const Iterable<String>& methods,
const optional<String>& fromInMessage = nullopt);
47 void ExpectedMethod (
const Request& request,
const WebServiceMethodDescription& wsMethodDescription);
52 String fH1Text =
"Operations"sv;
53 String fIntroductoryText =
""sv;
54 Mapping<String, String> fVariables2Substitute;
55 String fCSSSection = kDefaultCSSSection;
56 static const String kDefaultCSSSection;
57 optional<OpenAPI::Specification> fOpenAPISpecification;
58 optional<IO::Network::URI> fOpenAPISpecificationURI;
63 void WriteDocsPage (Response& response,
const Sequence<WebServiceMethodDescription>& operations,
const DocsOptions& docsOptions = {});
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.