Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
signalapp
GitHub Repository: signalapp/Signal-iOS
Path: blob/main/SignalServiceKit/Protos/Specifications/WebSocketResources.proto
1 views
//
// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//

// iOS - since we use a modern proto-compiler, we must specify
// the legacy proto format.
syntax = "proto2";

// iOS - package name determines class prefix
package WebSocketProtos;

option java_package = "org.whispersystems.signalservice.internal.websocket";
option java_outer_classname = "WebSocketProtos";

message WebSocketRequestMessage {
    // @required
    optional string verb = 1;
    // @required
    optional string path = 2;
    optional bytes body = 3;
    repeated string headers = 5;
    // @required
    optional uint64 requestId = 4;
}

message WebSocketResponseMessage {
    // @required
    optional uint64 requestId = 1;
    // @required
    optional uint32 status = 2;
    optional string message = 3;
    repeated string headers = 5;
    optional bytes body = 4;
}

message WebSocketMessage {
    enum Type {
        UNKNOWN = 0;
        REQUEST = 1;
        RESPONSE = 2;
    }

    optional Type type = 1;
    optional WebSocketRequestMessage request = 2;
    optional WebSocketResponseMessage response = 3;
}