summaryrefslogtreecommitdiff
path: root/httpRequest.proto
blob: efaa2793bdf8463ab250f053d35e8fbaa75969b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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")
        }