message CMsgProtoBufHeader {
	optional fixed64 client_steam_id = 1;
	optional int32 client_session_id = 2;
	optional fixed64 job_id_source = 10 [default = 18446744073709551615];
	optional fixed64 job_id_target = 11 [default = 18446744073709551615];
	optional string target_job_name = 12;
}

message CMsgWebAPIKey {
	optional uint32 status = 1 [default = 255];
	optional uint32 account_id = 2 [default = 0];
	optional uint32 publisher_group_id = 3 [default = 0];
	optional uint32 key_id = 4;
	optional string domain = 5;
}

message CMsgHttpRequest {
	message RequestHeader {
		optional string name = 1;
		optional string value = 2;
	}

	message QueryParam {
		optional string name = 1;
		optional bytes value = 2;
	}

	optional uint32 request_method = 1;
	optional string hostname = 2;
	optional string url = 3;
	repeated .CMsgHttpRequest.RequestHeader headers = 4;
	repeated .CMsgHttpRequest.QueryParam get_params = 5;
	repeated .CMsgHttpRequest.QueryParam post_params = 6;
	optional bytes body = 7;
}

message CMsgWebAPIRequest {
	optional string UNUSED_job_name = 1;
	optional string interface_name = 2;
	optional string method_name = 3;
	optional uint32 version = 4;
	optional .CMsgWebAPIKey api_key = 5;
	optional .CMsgHttpRequest request = 6;
	optional uint32 routing_app_id = 7;
}

message CMsgHttpResponse {
	message ResponseHeader {
		optional string name = 1;
		optional string value = 2;
	}

	optional uint32 status_code = 1;
	repeated .CMsgHttpResponse.ResponseHeader headers = 2;
	optional bytes body = 3;
}

