summaryrefslogtreecommitdiffhomepage
path: root/dev/lib/utility/cgi_writer.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-22 07:49:01 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-22 07:49:01 +0100
commit97cb8e1b8a4e1df3ed65ac5aa684c7babd1771dc (patch)
tree2e620bc2ca36b7f7c0c0d9eb606bc68cb04174fb /dev/lib/utility/cgi_writer.hpp
parent804afb1895fa9aa6c45645bb097bf4937e9d851d (diff)
chore: small source code tweaks.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/lib/utility/cgi_writer.hpp')
-rw-r--r--dev/lib/utility/cgi_writer.hpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/dev/lib/utility/cgi_writer.hpp b/dev/lib/utility/cgi_writer.hpp
deleted file mode 100644
index 7b95b2e..0000000
--- a/dev/lib/utility/cgi_writer.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * File: cgi_writer.hpp
- * Author: Amlal El Mahrouss,
- * Copyright 2023-2025, Amlal El Mahrouss, Licensed under the Boost Software License.
- */
-
-#ifndef _OCL_CGI_WRITER_HPP
-#define _OCL_CGI_WRITER_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-CGI/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_WRITER_HPP