diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 02:13:48 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-24 02:13:48 +0100 |
| commit | 65a8349aa5526d071b18cd4d42586c46faaa3823 (patch) | |
| tree | f6e2063319ceaaa02f523fb5c289e4f37411a2df /dev/lib/utility/cgi.hpp | |
| parent | df4ec096491ded6d58b9ee094d6942e3188c2d4a (diff) | |
feat! breaking changes for OCL v1.0.48.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/lib/utility/cgi.hpp')
| -rw-r--r-- | dev/lib/utility/cgi.hpp | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/dev/lib/utility/cgi.hpp b/dev/lib/utility/cgi.hpp deleted file mode 100644 index 4cc913b..0000000 --- a/dev/lib/utility/cgi.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - * File: cgi.hpp - * Author: Amlal El Mahrouss, - * Copyright 2023-2025, Amlal El Mahrouss, Licensed under the Boost Software License. - */ - -#ifndef _OCL_CGI_HPP -#define _OCL_CGI_HPP - -#include <lib/io/print.hpp> -#include <lib/core/chunk_string.hpp> -#include <sstream> -#include <format> - -namespace ocl -{ - namespace cgi - { - /// @brief CGI Writer class, writes to stdout; as CGI expects. - template <typename char_type = char> - class basic_writer - { - private: - basic_writer& eval_(const basic_chunk_string<char_type>& mime, const basic_chunk_string<char_type>& ss) noexcept - { - std::basic_stringstream<char_type> ss_out; - - ss_out << std::format("Content-Type: {}\r\n", mime.str()); - ss_out << std::format("Server: {}\r\n", "OCL/1.0"); - ss_out << std::format("Content-Length: {}\r\n\r\n", ss.str().size()); - ss_out << ss.str(); - - io::print(ss_out.str()); - - return *this; - } - - public: - explicit basic_writer() = default; - virtual ~basic_writer() = default; - - basic_writer& operator=(const basic_writer&) = default; - basic_writer(const basic_writer&) = default; - - public: - friend void operator<<(basic_writer& self, const basic_chunk_string<char_type>& ss_in) - { - self = self.eval_("text/plain", ss_in); - } - - basic_writer& binary(const basic_chunk_string<char_type>& ss_in) - { - return this->eval_("application/octet-stream", ss_in); - } - - basic_writer& html(const basic_chunk_string<char_type>& ss_in) - { - return this->eval_("text/html", ss_in); - } - - basic_writer& xml(const basic_chunk_string<char_type>& ss_in) - { - return this->eval_("application/xml", ss_in); - } - - basic_writer& json(const basic_chunk_string<char_type>& ss_in) - { - return this->eval_("application/json", ss_in); - } - - basic_writer& js(const basic_chunk_string<char_type>& ss_in) - { - return this->eval_("text/javascript", ss_in); - } - }; - } // namespace cgi -} // namespace ocl - -#endif // ifndef _OCL_CGI_HPP |
