blob: ba486f372761ecbe27f5c15a19aa1339df82221a [file] [log] [blame]
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package system_proxy.worker;
message Credentials {
optional string username = 1;
optional string password = 2;
}
message SocketAddress {
// A listening ipv4 address for the local proxy server, serialized in
// network-byte-order.
optional uint32 addr = 1;
// This value should fit in a uint16_t.
optional uint32 port = 2;
}
message LogRequest {
optional string message = 1;
}
message ProxyResolutionRequest {
optional string target_url = 1;
}
message ProxyResolutionReply {
optional string target_url = 1;
// An ordered list of proxy servers, at least one in size, with the last
// element always being the direct option. The format of the strings is
// scheme://host:port with the last element being "direct://". The only
// schemes supported at the moment are "http" and "direct".
repeated string proxy_servers = 2;
}
message WorkerRequest {
oneof params {
LogRequest log_request = 1;
ProxyResolutionRequest proxy_resolution_request = 2;
}
}
message WorkerConfigs {
oneof params {
Credentials credentials = 1;
// The local proxy listening address.
SocketAddress listening_address = 2;
ProxyResolutionReply proxy_resolution_reply = 3;
}
}