syntax = "proto3";

import "mapreduce/yt/interface/protos/extension.proto";

package NCookie;

message TCookie {
    string Name = 1 [(NYT.column_name) = "name"];
    uint32 ValueLenMax = 2 [(NYT.column_name) = "value_len_max"];
    string ValueSet = 3 [(NYT.column_name) = "value_set"];
    uint64 NoValueCount = 4 [(NYT.column_name) = "no_value_count"];
    uint64 ReqCount = 5 [(NYT.column_name) = "req_count"];
    uint64 TotalCount = 6 [(NYT.column_name) = "total_count"];
    uint32 InReqCountMax = 7 [(NYT.column_name) = "in_req_count_max"];
}

message TCookieHeader {
    string ReqPath = 1 [(NYT.column_name) = "req_path"];
    string ReqHost = 2 [(NYT.column_name) = "req_host"];
    uint32 Count = 3 [(NYT.column_name) = "count"];
    uint32 Size = 4 [(NYT.column_name) = "size"];
}

message TSetCookie {
    string Name = 1 [(NYT.column_name) = "name"];

    uint32 ValueLen = 2 [(NYT.column_name) = "value_len"];
    string ValueSet = 3 [(NYT.column_name) = "value_set"];
    bool NoValue = 4 [(NYT.column_name) = "no_value"];

    uint32 InReqCount = 5 [(NYT.column_name) = "in_req_count"];
    string ReqPath = 6 [(NYT.column_name) = "req_path"];
    string ReqHost = 7 [(NYT.column_name) = "req_host"];

    string Domain = 8 [(NYT.column_name) = "Domain"];
    string Path = 9 [(NYT.column_name) = "Path"];
    string SameSite = 10 [(NYT.column_name) = "SameSite"];
    string Secure = 11 [(NYT.column_name) = "Secure"];
    string HttpOnly = 12 [(NYT.column_name) = "HttpOnly"];
    string MaxAge = 13 [(NYT.column_name) = "Max-Age"];
    string Expires = 14 [(NYT.column_name) = "Expires"];
    string OtherAttrs = 15 [(NYT.column_name) = "other_attrs"];

    bool NeedsSameSite = 16[(NYT.column_name) = "needs_same_site"];
}
