From f2515acf4ada1b9c12e33d0e92c5574a81db3ce1 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 6 Sep 2025 14:43:53 -0500 Subject: [PATCH] day1 --- .gitignore | 5 +++++ Makefile | 30 ++++++++++++++++++++++++++++++ httpRequest.proto | 20 ++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 httpRequest.proto 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 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") + }