From 40488db2e4c370bff605a48dcacda94155044855 Mon Sep 17 00:00:00 2001
From: Darius Auding <Darius.auding@gmx.de>
Date: Sat, 1 Jul 2023 22:09:24 +0200
Subject: [PATCH] Add basic cookie utility prototypes

---
 core/http/src/handling/response/cookie.rs      |  0
 .../cookie_management/cookie_builder.rs        |  1 +
 .../handling/response/cookie_management/mod.rs |  1 +
 core/http/src/handling/response/datatypes.rs   | 18 +++++++++---------
 core/http/src/handling/response/mod.rs         |  2 +-
 5 files changed, 12 insertions(+), 10 deletions(-)
 delete mode 100644 core/http/src/handling/response/cookie.rs
 create mode 100644 core/http/src/handling/response/cookie_management/cookie_builder.rs
 create mode 100644 core/http/src/handling/response/cookie_management/mod.rs

diff --git a/core/http/src/handling/response/cookie.rs b/core/http/src/handling/response/cookie.rs
deleted file mode 100644
index e69de29..0000000
diff --git a/core/http/src/handling/response/cookie_management/cookie_builder.rs b/core/http/src/handling/response/cookie_management/cookie_builder.rs
new file mode 100644
index 0000000..0a800f1
--- /dev/null
+++ b/core/http/src/handling/response/cookie_management/cookie_builder.rs
@@ -0,0 +1 @@
+struct CookieBuilder {}
diff --git a/core/http/src/handling/response/cookie_management/mod.rs b/core/http/src/handling/response/cookie_management/mod.rs
new file mode 100644
index 0000000..ee6df23
--- /dev/null
+++ b/core/http/src/handling/response/cookie_management/mod.rs
@@ -0,0 +1 @@
+mod cookie_builder;
diff --git a/core/http/src/handling/response/datatypes.rs b/core/http/src/handling/response/datatypes.rs
index 503929a..669005e 100644
--- a/core/http/src/handling/response/datatypes.rs
+++ b/core/http/src/handling/response/datatypes.rs
@@ -20,21 +20,21 @@ pub enum SameSite {
 pub struct Cookie<'a> {
     /// Storage for the cookie string. Only used if this structure was derived
     /// from a string that was subsequently parsed.
-    cookie_string: &'a str,
-    name: &'a str,
-    value: &'a str,
+    pub(crate) cookie_string: Option<&'a str>,
+    pub(crate) name: &'a str,
+    pub(crate) value: &'a str,
     // expires: Option<Tm>,
-    max_age: Option<Duration>,
+    pub(crate) max_age: Option<Duration>,
     /// The cookie's domain, if any.
-    domain: Option<&'a str>,
+    pub(crate) domain: Option<&'a str>,
     /// The cookie's path domain, if any.
-    path: Option<&'a str>,
+    pub(crate) path: Option<&'a str>,
     /// Whether this cookie was marked Secure.
-    secure: Option<bool>,
+    pub(crate) secure: Option<bool>,
     /// Whether this cookie was marked HttpOnly.
-    http_only: Option<bool>,
+    pub(crate) http_only: Option<bool>,
     /// The draft `SameSite` attribute.
-    same_site: Option<SameSite>,
+    pub(crate) same_site: Option<SameSite>,
 }
 
 pub struct Response<'a> {
diff --git a/core/http/src/handling/response/mod.rs b/core/http/src/handling/response/mod.rs
index 017bc15..1fdc875 100644
--- a/core/http/src/handling/response/mod.rs
+++ b/core/http/src/handling/response/mod.rs
@@ -1,4 +1,4 @@
-mod cookie;
+mod cookie_management;
 mod datatypes;
 mod response;
 mod status;
-- 
GitLab