summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-06 14:43:53 -0500
committerJeff Carr <[email protected]>2025-09-06 14:43:53 -0500
commitf2515acf4ada1b9c12e33d0e92c5574a81db3ce1 (patch)
tree47b6d6a72acbd4780218626a15106e4f52eca33f
day1
-rw-r--r--.gitignore5
-rw-r--r--Makefile30
-rw-r--r--httpRequest.proto20
3 files changed, 55 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3429a71
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+go.*
+*.swp
+*.patch
+*.mbox
+*.pb.go
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..ac95660
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,30 @@
+# You must use the current protoc-gen-go
+#
+# go-clone --go-src google.golang.org/protobuf
+# cd ~/go/src/google.golang.org/protobuf/cmd/protoc-gen-go
+# go install
+
+
+all: generate goimports vet
+
+generate: clean
+ autogenpb --proto httpRequest.proto
+
+vet:
+ @GO111MODULE=off go vet
+ @echo this go library package builds okay
+
+# autofixes your import headers in your golang files
+goimports:
+ goimports -w *.go
+
+clean:
+ rm -f *.pb.go *.patch
+ -rm -f go.*
+ go-mod-clean purge
+
+forgeConfig.pb.go: forgeConfig.proto
+ autogenpb --proto forgeConfig.proto
+
+patchset.pb.go: patchset.proto
+ autogenpb --proto patchset.proto
diff --git a/httpRequest.proto b/httpRequest.proto
new file mode 100644
index 0000000..efaa279
--- /dev/null
+++ b/httpRequest.proto
@@ -0,0 +1,20 @@
+// Copyright 2025 WIT.COM Inc Licensed GPL 3.0
+
+syntax = "proto3";
+
+package forgepb;
+
+import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
+
+ message HttpRequest { // HttpRequest represents the essential fields of an incoming HTTP request.
+ string method = 1; // The request method, e.g., "GET", "POST".
+ string url = 2; // The full URL of the request, including scheme, host, path, and query string.
+ string route = 3; // just the route: "/add/" or "/find/"
+ string proto = 4; // The protocol version, e.g., "HTTP/1.1", "HTTP/2.0".
+ map<string, string> headers = 5; // The map of request headers. Header names are case-insensitive,
+ string remoteAddr = 6; // The remote IP address of the client, after resolving proxies.
+ string host = 7; // The host on which the URL is sought (www.wit.com)
+ string hostname = 8; // The hostname of the client if passed from the client (mylaptop.fun.me)
+ bytes body = 9; // The request body as raw bytes.
+ string namespace = 10; // When the body is a pb (always!). This is the pb namespace ("go.wit.com/lib/protobuf/virtpb")
+ }