Migrate to websocket proto wrappers.
This commit is contained in:
parent
f795ec352e
commit
67110d0def
|
@ -4,7 +4,6 @@
|
|||
# protobuf lib
|
||||
shift-base:CodedInputStream.m
|
||||
# generated protos
|
||||
bool:WebSocketResources.pb.m
|
||||
bool:WhisperTextProtocol.pb.m
|
||||
bool:OWSWebRTCDataProtos.pb.m
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ message WebSocketResponseMessage {
|
|||
optional uint32 status = 2;
|
||||
optional string message = 3;
|
||||
repeated string headers = 5;
|
||||
// @required
|
||||
optional bytes body = 4;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#import "TSRequest.h"
|
||||
#import "TextSecureKitEnv.h"
|
||||
#import "Threading.h"
|
||||
#import "WebSocketResources.pb.h"
|
||||
#import <SignalServiceKit/SignalServiceKit-Swift.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
@ -492,26 +491,32 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
}
|
||||
}
|
||||
|
||||
WebSocketResourcesWebSocketRequestMessageBuilder *requestBuilder =
|
||||
[WebSocketResourcesWebSocketRequestMessageBuilder new];
|
||||
[requestBuilder setRequestId:socketMessage.requestId];
|
||||
WebSocketProtoWebSocketRequestMessageBuilder *requestBuilder = [WebSocketProtoWebSocketRequestMessageBuilder new];
|
||||
[requestBuilder setRequestID:socketMessage.requestId];
|
||||
[requestBuilder setVerb:request.HTTPMethod];
|
||||
[requestBuilder setPath:requestPath];
|
||||
if (jsonData) {
|
||||
// TODO: Do we need body & headers for requests with no parameters?
|
||||
[requestBuilder setBody:jsonData];
|
||||
[requestBuilder setHeadersArray:@[
|
||||
[requestBuilder setHeaders:@[
|
||||
@"content-type:application/json",
|
||||
]];
|
||||
}
|
||||
|
||||
WebSocketResourcesWebSocketMessageBuilder *messageBuilder = [WebSocketResourcesWebSocketMessageBuilder new];
|
||||
[messageBuilder setType:WebSocketResourcesWebSocketMessageTypeRequest];
|
||||
[messageBuilder setRequestBuilder:requestBuilder];
|
||||
NSError *error;
|
||||
WebSocketProtoWebSocketRequestMessage *_Nullable requestProto = [requestBuilder buildAndReturnError:&error];
|
||||
if (!requestProto || error) {
|
||||
OWSFail(@"%@ could not build proto: %@", self.logTag, error);
|
||||
return;
|
||||
}
|
||||
|
||||
NSData *messageData = [messageBuilder build].data;
|
||||
if (!messageData) {
|
||||
OWSProdLogAndFail(@"%@ could not serialize message.", self.logTag);
|
||||
WebSocketProtoWebSocketMessageBuilder *messageBuilder = [WebSocketProtoWebSocketMessageBuilder new];
|
||||
[messageBuilder setType:WebSocketProtoWebSocketMessageTypeRequest];
|
||||
[messageBuilder setRequest:requestProto];
|
||||
|
||||
NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error];
|
||||
if (!messageData || error) {
|
||||
OWSProdLogAndFail(@"%@ could not serialize proto: %@.", self.logTag, error);
|
||||
[socketMessage didFailBeforeSending];
|
||||
return;
|
||||
}
|
||||
|
@ -522,7 +527,6 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
return;
|
||||
}
|
||||
|
||||
NSError *error;
|
||||
BOOL wasScheduled = [self.websocket sendDataNoCopy:messageData error:&error];
|
||||
if (!wasScheduled || error) {
|
||||
OWSProdLogAndFail(@"%@ could not send socket request: %@", self.logTag, error);
|
||||
|
@ -545,7 +549,7 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
});
|
||||
}
|
||||
|
||||
- (void)processWebSocketResponseMessage:(WebSocketResourcesWebSocketResponseMessage *)message
|
||||
- (void)processWebSocketResponseMessage:(WebSocketProtoWebSocketResponseMessage *)message
|
||||
{
|
||||
OWSAssertIsOnMainThread();
|
||||
OWSAssert(message);
|
||||
|
@ -555,26 +559,18 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
});
|
||||
}
|
||||
|
||||
- (void)processWebSocketResponseMessageAsync:(WebSocketResourcesWebSocketResponseMessage *)message
|
||||
- (void)processWebSocketResponseMessageAsync:(WebSocketProtoWebSocketResponseMessage *)message
|
||||
{
|
||||
OWSAssert(message);
|
||||
|
||||
DDLogInfo(@"%@ received WebSocket response.", self.logTag);
|
||||
|
||||
if (![message hasRequestId]) {
|
||||
DDLogError(@"%@ received incomplete WebSocket response.", self.logTag);
|
||||
return;
|
||||
}
|
||||
|
||||
DispatchMainThreadSafe(^{
|
||||
[self requestSocketAliveForAtLeastSeconds:kMakeRequestKeepSocketAliveDurationSeconds];
|
||||
});
|
||||
|
||||
UInt64 requestId = message.requestId;
|
||||
UInt32 responseStatus = 0;
|
||||
if (message.hasStatus) {
|
||||
responseStatus = message.status;
|
||||
}
|
||||
UInt64 requestId = message.requestID;
|
||||
UInt32 responseStatus = message.status;
|
||||
NSString *_Nullable responseMessage;
|
||||
if (message.hasMessage) {
|
||||
responseMessage = message.message;
|
||||
|
@ -702,25 +698,30 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
// If we receive a response, we know we're not de-registered.
|
||||
[TSAccountManager.sharedInstance setIsDeregistered:NO];
|
||||
|
||||
WebSocketResourcesWebSocketMessage *wsMessage;
|
||||
WebSocketProtoWebSocketMessage *_Nullable wsMessage;
|
||||
@try {
|
||||
wsMessage = [WebSocketResourcesWebSocketMessage parseFromData:data];
|
||||
NSError *error;
|
||||
wsMessage = [WebSocketProtoWebSocketMessage parseData:data error:&error];
|
||||
if (!wsMessage || error) {
|
||||
OWSFail(@"%@ could not parse proto: %@", self.logTag, error);
|
||||
return;
|
||||
}
|
||||
} @catch (NSException *exception) {
|
||||
OWSProdLogAndFail(@"%@ Received an invalid message: %@", self.logTag, exception.debugDescription);
|
||||
// TODO: Add analytics.
|
||||
return;
|
||||
}
|
||||
|
||||
if (wsMessage.type == WebSocketResourcesWebSocketMessageTypeRequest) {
|
||||
if (wsMessage.type == WebSocketProtoWebSocketMessageTypeRequest) {
|
||||
[self processWebSocketRequestMessage:wsMessage.request];
|
||||
} else if (wsMessage.type == WebSocketResourcesWebSocketMessageTypeResponse) {
|
||||
} else if (wsMessage.type == WebSocketProtoWebSocketMessageTypeResponse) {
|
||||
[self processWebSocketResponseMessage:wsMessage.response];
|
||||
} else {
|
||||
DDLogWarn(@"%@ webSocket:didReceiveMessage: unknown.", self.logTag);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)processWebSocketRequestMessage:(WebSocketResourcesWebSocketRequestMessage *)message
|
||||
- (void)processWebSocketRequestMessage:(WebSocketProtoWebSocketRequestMessage *)message
|
||||
{
|
||||
OWSAssertIsOnMainThread();
|
||||
|
||||
|
@ -779,21 +780,34 @@ NSString *const kNSNotification_SocketManagerStateDidChange = @"kNSNotification_
|
|||
}
|
||||
}
|
||||
|
||||
- (void)sendWebSocketMessageAcknowledgement:(WebSocketResourcesWebSocketRequestMessage *)request
|
||||
- (void)sendWebSocketMessageAcknowledgement:(WebSocketProtoWebSocketRequestMessage *)request
|
||||
{
|
||||
OWSAssertIsOnMainThread();
|
||||
|
||||
WebSocketResourcesWebSocketResponseMessageBuilder *response = [WebSocketResourcesWebSocketResponseMessage builder];
|
||||
[response setStatus:200];
|
||||
[response setMessage:@"OK"];
|
||||
[response setRequestId:request.requestId];
|
||||
|
||||
WebSocketResourcesWebSocketMessageBuilder *message = [WebSocketResourcesWebSocketMessage builder];
|
||||
[message setResponse:response.build];
|
||||
[message setType:WebSocketResourcesWebSocketMessageTypeResponse];
|
||||
|
||||
NSError *error;
|
||||
[self.websocket sendDataNoCopy:message.build.data error:&error];
|
||||
|
||||
WebSocketProtoWebSocketResponseMessageBuilder *responseBuilder =
|
||||
[WebSocketProtoWebSocketResponseMessageBuilder new];
|
||||
[responseBuilder setStatus:200];
|
||||
[responseBuilder setMessage:@"OK"];
|
||||
[responseBuilder setRequestID:request.requestID];
|
||||
WebSocketProtoWebSocketResponseMessage *_Nullable response = [responseBuilder buildAndReturnError:&error];
|
||||
if (!response || error) {
|
||||
OWSFail(@"%@ could not build proto: %@", self.logTag, error);
|
||||
return;
|
||||
}
|
||||
|
||||
WebSocketProtoWebSocketMessageBuilder *messageBuilder = [WebSocketProtoWebSocketMessageBuilder new];
|
||||
[messageBuilder setResponse:response];
|
||||
[messageBuilder setType:WebSocketProtoWebSocketMessageTypeResponse];
|
||||
|
||||
NSData *_Nullable messageData = [messageBuilder buildSerializedDataAndReturnError:&error];
|
||||
if (!messageData || error) {
|
||||
OWSFail(@"%@ could not serialize proto: %@", self.logTag, error);
|
||||
return;
|
||||
}
|
||||
|
||||
[self.websocket sendDataNoCopy:messageData error:&error];
|
||||
if (error) {
|
||||
DDLogWarn(@"Error while trying to write on websocket %@", error);
|
||||
[self handleSocketFailure];
|
||||
|
|
|
@ -1,330 +0,0 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
|
||||
#import <ProtocolBuffers/ProtocolBuffers.h>
|
||||
|
||||
// @@protoc_insertion_point(imports)
|
||||
|
||||
@class ObjectiveCFileOptions;
|
||||
@class ObjectiveCFileOptionsBuilder;
|
||||
@class PBDescriptorProto;
|
||||
@class PBDescriptorProtoBuilder;
|
||||
@class PBDescriptorProtoExtensionRange;
|
||||
@class PBDescriptorProtoExtensionRangeBuilder;
|
||||
@class PBEnumDescriptorProto;
|
||||
@class PBEnumDescriptorProtoBuilder;
|
||||
@class PBEnumOptions;
|
||||
@class PBEnumOptionsBuilder;
|
||||
@class PBEnumValueDescriptorProto;
|
||||
@class PBEnumValueDescriptorProtoBuilder;
|
||||
@class PBEnumValueOptions;
|
||||
@class PBEnumValueOptionsBuilder;
|
||||
@class PBFieldDescriptorProto;
|
||||
@class PBFieldDescriptorProtoBuilder;
|
||||
@class PBFieldOptions;
|
||||
@class PBFieldOptionsBuilder;
|
||||
@class PBFileDescriptorProto;
|
||||
@class PBFileDescriptorProtoBuilder;
|
||||
@class PBFileDescriptorSet;
|
||||
@class PBFileDescriptorSetBuilder;
|
||||
@class PBFileOptions;
|
||||
@class PBFileOptionsBuilder;
|
||||
@class PBMessageOptions;
|
||||
@class PBMessageOptionsBuilder;
|
||||
@class PBMethodDescriptorProto;
|
||||
@class PBMethodDescriptorProtoBuilder;
|
||||
@class PBMethodOptions;
|
||||
@class PBMethodOptionsBuilder;
|
||||
@class PBOneofDescriptorProto;
|
||||
@class PBOneofDescriptorProtoBuilder;
|
||||
@class PBServiceDescriptorProto;
|
||||
@class PBServiceDescriptorProtoBuilder;
|
||||
@class PBServiceOptions;
|
||||
@class PBServiceOptionsBuilder;
|
||||
@class PBSourceCodeInfo;
|
||||
@class PBSourceCodeInfoBuilder;
|
||||
@class PBSourceCodeInfoLocation;
|
||||
@class PBSourceCodeInfoLocationBuilder;
|
||||
@class PBUninterpretedOption;
|
||||
@class PBUninterpretedOptionBuilder;
|
||||
@class PBUninterpretedOptionNamePart;
|
||||
@class PBUninterpretedOptionNamePartBuilder;
|
||||
@class WebSocketResourcesWebSocketMessage;
|
||||
@class WebSocketResourcesWebSocketMessageBuilder;
|
||||
@class WebSocketResourcesWebSocketRequestMessage;
|
||||
@class WebSocketResourcesWebSocketRequestMessageBuilder;
|
||||
@class WebSocketResourcesWebSocketResponseMessage;
|
||||
@class WebSocketResourcesWebSocketResponseMessageBuilder;
|
||||
|
||||
|
||||
typedef NS_ENUM(SInt32, WebSocketResourcesWebSocketMessageType) {
|
||||
WebSocketResourcesWebSocketMessageTypeUnknown = 0,
|
||||
WebSocketResourcesWebSocketMessageTypeRequest = 1,
|
||||
WebSocketResourcesWebSocketMessageTypeResponse = 2,
|
||||
};
|
||||
|
||||
BOOL WebSocketResourcesWebSocketMessageTypeIsValidValue(WebSocketResourcesWebSocketMessageType value);
|
||||
NSString *NSStringFromWebSocketResourcesWebSocketMessageType(WebSocketResourcesWebSocketMessageType value);
|
||||
|
||||
|
||||
@interface WebSocketResourcesWebSocketResourcesRoot : NSObject {
|
||||
}
|
||||
+ (PBExtensionRegistry*) extensionRegistry;
|
||||
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry;
|
||||
@end
|
||||
|
||||
#define WebSocketRequestMessage_verb @"verb"
|
||||
#define WebSocketRequestMessage_path @"path"
|
||||
#define WebSocketRequestMessage_body @"body"
|
||||
#define WebSocketRequestMessage_headers @"headers"
|
||||
#define WebSocketRequestMessage_requestId @"requestId"
|
||||
@interface WebSocketResourcesWebSocketRequestMessage : PBGeneratedMessage<GeneratedMessageProtocol> {
|
||||
@private
|
||||
BOOL hasRequestId_:1;
|
||||
BOOL hasVerb_:1;
|
||||
BOOL hasPath_:1;
|
||||
BOOL hasBody_:1;
|
||||
UInt64 requestId;
|
||||
NSString* verb;
|
||||
NSString* path;
|
||||
NSData* body;
|
||||
NSMutableArray * headersArray;
|
||||
}
|
||||
- (BOOL) hasVerb;
|
||||
- (BOOL) hasPath;
|
||||
- (BOOL) hasBody;
|
||||
- (BOOL) hasRequestId;
|
||||
@property (readonly, strong) NSString* verb;
|
||||
@property (readonly, strong) NSString* path;
|
||||
@property (readonly, strong) NSData* body;
|
||||
@property (readonly, strong) NSArray * headers;
|
||||
@property (readonly) UInt64 requestId;
|
||||
- (NSString*)headersAtIndex:(NSUInteger)index;
|
||||
|
||||
+ (instancetype) defaultInstance;
|
||||
- (instancetype) defaultInstance;
|
||||
|
||||
- (BOOL) isInitialized;
|
||||
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketRequestMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketRequestMessageBuilder*) builderWithPrototype:(WebSocketResourcesWebSocketRequestMessage*) prototype;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) toBuilder;
|
||||
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromData:(NSData*) data;
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromInputStream:(NSInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketRequestMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
@end
|
||||
|
||||
@interface WebSocketResourcesWebSocketRequestMessageBuilder : PBGeneratedMessageBuilder {
|
||||
@private
|
||||
WebSocketResourcesWebSocketRequestMessage* resultWebSocketRequestMessage;
|
||||
}
|
||||
|
||||
- (WebSocketResourcesWebSocketRequestMessage*) defaultInstance;
|
||||
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clear;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clone;
|
||||
|
||||
- (WebSocketResourcesWebSocketRequestMessage*) build;
|
||||
- (WebSocketResourcesWebSocketRequestMessage*) buildPartial;
|
||||
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) mergeFrom:(WebSocketResourcesWebSocketRequestMessage*) other;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
|
||||
- (BOOL) hasVerb;
|
||||
- (NSString*) verb;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) setVerb:(NSString*) value;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clearVerb;
|
||||
|
||||
- (BOOL) hasPath;
|
||||
- (NSString*) path;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) setPath:(NSString*) value;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clearPath;
|
||||
|
||||
- (BOOL) hasBody;
|
||||
- (NSData*) body;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) setBody:(NSData*) value;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clearBody;
|
||||
|
||||
- (NSMutableArray *)headers;
|
||||
- (NSString*)headersAtIndex:(NSUInteger)index;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder *)addHeaders:(NSString*)value;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder *)setHeadersArray:(NSArray *)array;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder *)clearHeaders;
|
||||
|
||||
- (BOOL) hasRequestId;
|
||||
- (UInt64) requestId;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) setRequestId:(UInt64) value;
|
||||
- (WebSocketResourcesWebSocketRequestMessageBuilder*) clearRequestId;
|
||||
@end
|
||||
|
||||
#define WebSocketResponseMessage_requestId @"requestId"
|
||||
#define WebSocketResponseMessage_status @"status"
|
||||
#define WebSocketResponseMessage_message @"message"
|
||||
#define WebSocketResponseMessage_headers @"headers"
|
||||
#define WebSocketResponseMessage_body @"body"
|
||||
@interface WebSocketResourcesWebSocketResponseMessage : PBGeneratedMessage<GeneratedMessageProtocol> {
|
||||
@private
|
||||
BOOL hasRequestId_:1;
|
||||
BOOL hasMessage_:1;
|
||||
BOOL hasBody_:1;
|
||||
BOOL hasStatus_:1;
|
||||
UInt64 requestId;
|
||||
NSString* message;
|
||||
NSData* body;
|
||||
UInt32 status;
|
||||
NSMutableArray * headersArray;
|
||||
}
|
||||
- (BOOL) hasRequestId;
|
||||
- (BOOL) hasStatus;
|
||||
- (BOOL) hasMessage;
|
||||
- (BOOL) hasBody;
|
||||
@property (readonly) UInt64 requestId;
|
||||
@property (readonly) UInt32 status;
|
||||
@property (readonly, strong) NSString* message;
|
||||
@property (readonly, strong) NSArray * headers;
|
||||
@property (readonly, strong) NSData* body;
|
||||
- (NSString*)headersAtIndex:(NSUInteger)index;
|
||||
|
||||
+ (instancetype) defaultInstance;
|
||||
- (instancetype) defaultInstance;
|
||||
|
||||
- (BOOL) isInitialized;
|
||||
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketResponseMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketResponseMessageBuilder*) builderWithPrototype:(WebSocketResourcesWebSocketResponseMessage*) prototype;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) toBuilder;
|
||||
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromData:(NSData*) data;
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromInputStream:(NSInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketResponseMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
@end
|
||||
|
||||
@interface WebSocketResourcesWebSocketResponseMessageBuilder : PBGeneratedMessageBuilder {
|
||||
@private
|
||||
WebSocketResourcesWebSocketResponseMessage* resultWebSocketResponseMessage;
|
||||
}
|
||||
|
||||
- (WebSocketResourcesWebSocketResponseMessage*) defaultInstance;
|
||||
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clear;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clone;
|
||||
|
||||
- (WebSocketResourcesWebSocketResponseMessage*) build;
|
||||
- (WebSocketResourcesWebSocketResponseMessage*) buildPartial;
|
||||
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) mergeFrom:(WebSocketResourcesWebSocketResponseMessage*) other;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
|
||||
- (BOOL) hasRequestId;
|
||||
- (UInt64) requestId;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) setRequestId:(UInt64) value;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clearRequestId;
|
||||
|
||||
- (BOOL) hasStatus;
|
||||
- (UInt32) status;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) setStatus:(UInt32) value;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clearStatus;
|
||||
|
||||
- (BOOL) hasMessage;
|
||||
- (NSString*) message;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) setMessage:(NSString*) value;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clearMessage;
|
||||
|
||||
- (NSMutableArray *)headers;
|
||||
- (NSString*)headersAtIndex:(NSUInteger)index;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder *)addHeaders:(NSString*)value;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder *)setHeadersArray:(NSArray *)array;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder *)clearHeaders;
|
||||
|
||||
- (BOOL) hasBody;
|
||||
- (NSData*) body;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) setBody:(NSData*) value;
|
||||
- (WebSocketResourcesWebSocketResponseMessageBuilder*) clearBody;
|
||||
@end
|
||||
|
||||
#define WebSocketMessage_type @"type"
|
||||
#define WebSocketMessage_request @"request"
|
||||
#define WebSocketMessage_response @"response"
|
||||
@interface WebSocketResourcesWebSocketMessage : PBGeneratedMessage<GeneratedMessageProtocol> {
|
||||
@private
|
||||
BOOL hasRequest_:1;
|
||||
BOOL hasResponse_:1;
|
||||
BOOL hasType_:1;
|
||||
WebSocketResourcesWebSocketRequestMessage* request;
|
||||
WebSocketResourcesWebSocketResponseMessage* response;
|
||||
WebSocketResourcesWebSocketMessageType type;
|
||||
}
|
||||
- (BOOL) hasType;
|
||||
- (BOOL) hasRequest;
|
||||
- (BOOL) hasResponse;
|
||||
@property (readonly) WebSocketResourcesWebSocketMessageType type;
|
||||
@property (readonly, strong) WebSocketResourcesWebSocketRequestMessage* request;
|
||||
@property (readonly, strong) WebSocketResourcesWebSocketResponseMessage* response;
|
||||
|
||||
+ (instancetype) defaultInstance;
|
||||
- (instancetype) defaultInstance;
|
||||
|
||||
- (BOOL) isInitialized;
|
||||
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketMessageBuilder*) builder;
|
||||
+ (WebSocketResourcesWebSocketMessageBuilder*) builderWithPrototype:(WebSocketResourcesWebSocketMessage*) prototype;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) toBuilder;
|
||||
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromData:(NSData*) data;
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromInputStream:(NSInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
+ (WebSocketResourcesWebSocketMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
@end
|
||||
|
||||
@interface WebSocketResourcesWebSocketMessageBuilder : PBGeneratedMessageBuilder {
|
||||
@private
|
||||
WebSocketResourcesWebSocketMessage* resultWebSocketMessage;
|
||||
}
|
||||
|
||||
- (WebSocketResourcesWebSocketMessage*) defaultInstance;
|
||||
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) clear;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) clone;
|
||||
|
||||
- (WebSocketResourcesWebSocketMessage*) build;
|
||||
- (WebSocketResourcesWebSocketMessage*) buildPartial;
|
||||
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) mergeFrom:(WebSocketResourcesWebSocketMessage*) other;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
|
||||
|
||||
- (BOOL) hasType;
|
||||
- (WebSocketResourcesWebSocketMessageType) type;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) setType:(WebSocketResourcesWebSocketMessageType) value;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) clearType;
|
||||
|
||||
- (BOOL) hasRequest;
|
||||
- (WebSocketResourcesWebSocketRequestMessage*) request;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) setRequest:(WebSocketResourcesWebSocketRequestMessage*) value;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) setRequestBuilder:(WebSocketResourcesWebSocketRequestMessageBuilder*) builderForValue;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) mergeRequest:(WebSocketResourcesWebSocketRequestMessage*) value;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) clearRequest;
|
||||
|
||||
- (BOOL) hasResponse;
|
||||
- (WebSocketResourcesWebSocketResponseMessage*) response;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) setResponse:(WebSocketResourcesWebSocketResponseMessage*) value;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) setResponseBuilder:(WebSocketResourcesWebSocketResponseMessageBuilder*) builderForValue;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) mergeResponse:(WebSocketResourcesWebSocketResponseMessage*) value;
|
||||
- (WebSocketResourcesWebSocketMessageBuilder*) clearResponse;
|
||||
@end
|
||||
|
||||
|
||||
// @@protoc_insertion_point(global_scope)
|
File diff suppressed because it is too large
Load Diff
|
@ -208,8 +208,6 @@ public enum WebSocketProtoError: Error {
|
|||
|
||||
@objc public let status: UInt32
|
||||
|
||||
@objc public let body: Data
|
||||
|
||||
@objc public var message: String? {
|
||||
guard proto.hasMessage else {
|
||||
return nil
|
||||
|
@ -224,14 +222,22 @@ public enum WebSocketProtoError: Error {
|
|||
return proto.headers
|
||||
}
|
||||
|
||||
@objc public var body: Data? {
|
||||
guard proto.hasBody else {
|
||||
return nil
|
||||
}
|
||||
return proto.body
|
||||
}
|
||||
@objc public var hasBody: Bool {
|
||||
return proto.hasBody
|
||||
}
|
||||
|
||||
private init(proto: WebSocketProtos_WebSocketResponseMessage,
|
||||
requestID: UInt64,
|
||||
status: UInt32,
|
||||
body: Data) {
|
||||
status: UInt32) {
|
||||
self.proto = proto
|
||||
self.requestID = requestID
|
||||
self.status = status
|
||||
self.body = body
|
||||
}
|
||||
|
||||
// NOTE: This method is intended for debugging purposes only.
|
||||
|
@ -264,19 +270,13 @@ public enum WebSocketProtoError: Error {
|
|||
}
|
||||
let status = proto.status
|
||||
|
||||
guard proto.hasBody else {
|
||||
throw WebSocketProtoError.invalidProtobuf(description: "\(logTag) missing required field: body")
|
||||
}
|
||||
let body = proto.body
|
||||
|
||||
// MARK: - Begin Validation Logic for WebSocketProtoWebSocketResponseMessage -
|
||||
|
||||
// MARK: - End Validation Logic for WebSocketProtoWebSocketResponseMessage -
|
||||
|
||||
let result = WebSocketProtoWebSocketResponseMessage(proto: proto,
|
||||
requestID: requestID,
|
||||
status: status,
|
||||
body: body)
|
||||
status: status)
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
// DO NOT EDIT.
|
||||
//
|
||||
// Generated by the Swift generator plugin for the protocol buffer compiler.
|
||||
// Source: WebSocketResources.proto
|
||||
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
// For information on using the generated types, please see the documenation:
|
||||
// https://github.com/apple/swift-protobuf/
|
||||
|
||||
//*
|
||||
// Copyright (C) 2014-2016 Open Whisper Systems
|
||||
|
@ -22,7 +18,7 @@ import SwiftProtobuf
|
|||
// incompatible with the version of SwiftProtobuf to which you are linking.
|
||||
// Please ensure that your are building against the same version of the API
|
||||
// that was used to generate this file.
|
||||
fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
|
||||
private struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck {
|
||||
struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {}
|
||||
typealias Version = _2
|
||||
}
|
||||
|
@ -77,10 +73,10 @@ struct WebSocketProtos_WebSocketRequestMessage {
|
|||
|
||||
init() {}
|
||||
|
||||
fileprivate var _verb: String? = nil
|
||||
fileprivate var _path: String? = nil
|
||||
fileprivate var _body: Data? = nil
|
||||
fileprivate var _requestID: UInt64? = nil
|
||||
fileprivate var _verb: String?
|
||||
fileprivate var _path: String?
|
||||
fileprivate var _body: Data?
|
||||
fileprivate var _requestID: UInt64?
|
||||
}
|
||||
|
||||
struct WebSocketProtos_WebSocketResponseMessage {
|
||||
|
@ -119,7 +115,6 @@ struct WebSocketProtos_WebSocketResponseMessage {
|
|||
|
||||
var headers: [String] = []
|
||||
|
||||
/// @required
|
||||
var body: Data {
|
||||
get {return _body ?? SwiftProtobuf.Internal.emptyData}
|
||||
set {_body = newValue}
|
||||
|
@ -133,10 +128,10 @@ struct WebSocketProtos_WebSocketResponseMessage {
|
|||
|
||||
init() {}
|
||||
|
||||
fileprivate var _requestID: UInt64? = nil
|
||||
fileprivate var _status: UInt32? = nil
|
||||
fileprivate var _message: String? = nil
|
||||
fileprivate var _body: Data? = nil
|
||||
fileprivate var _requestID: UInt64?
|
||||
fileprivate var _status: UInt32?
|
||||
fileprivate var _message: String?
|
||||
fileprivate var _body: Data?
|
||||
}
|
||||
|
||||
struct WebSocketProtos_WebSocketMessage {
|
||||
|
@ -210,7 +205,7 @@ struct WebSocketProtos_WebSocketMessage {
|
|||
|
||||
// MARK: - Code below here is support for the SwiftProtobuf runtime.
|
||||
|
||||
fileprivate let _protobuf_package = "WebSocketProtos"
|
||||
private let _protobuf_package = "WebSocketProtos"
|
||||
|
||||
extension WebSocketProtos_WebSocketRequestMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
|
||||
static let protoMessageName: String = _protobuf_package + ".WebSocketRequestMessage"
|
||||
|
@ -219,7 +214,7 @@ extension WebSocketProtos_WebSocketRequestMessage: SwiftProtobuf.Message, SwiftP
|
|||
2: .same(proto: "path"),
|
||||
3: .same(proto: "body"),
|
||||
5: .same(proto: "headers"),
|
||||
4: .same(proto: "requestId"),
|
||||
4: .same(proto: "requestId")
|
||||
]
|
||||
|
||||
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
||||
|
@ -272,7 +267,7 @@ extension WebSocketProtos_WebSocketResponseMessage: SwiftProtobuf.Message, Swift
|
|||
2: .same(proto: "status"),
|
||||
3: .same(proto: "message"),
|
||||
5: .same(proto: "headers"),
|
||||
4: .same(proto: "body"),
|
||||
4: .same(proto: "body")
|
||||
]
|
||||
|
||||
mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
|
||||
|
@ -323,13 +318,13 @@ extension WebSocketProtos_WebSocketMessage: SwiftProtobuf.Message, SwiftProtobuf
|
|||
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
||||
1: .same(proto: "type"),
|
||||
2: .same(proto: "request"),
|
||||
3: .same(proto: "response"),
|
||||
3: .same(proto: "response")
|
||||
]
|
||||
|
||||
fileprivate class _StorageClass {
|
||||
var _type: WebSocketProtos_WebSocketMessage.TypeEnum? = nil
|
||||
var _request: WebSocketProtos_WebSocketRequestMessage? = nil
|
||||
var _response: WebSocketProtos_WebSocketResponseMessage? = nil
|
||||
var _type: WebSocketProtos_WebSocketMessage.TypeEnum?
|
||||
var _request: WebSocketProtos_WebSocketRequestMessage?
|
||||
var _response: WebSocketProtos_WebSocketResponseMessage?
|
||||
|
||||
static let defaultInstance = _StorageClass()
|
||||
|
||||
|
@ -399,6 +394,6 @@ extension WebSocketProtos_WebSocketMessage.TypeEnum: SwiftProtobuf._ProtoNamePro
|
|||
static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
|
||||
0: .same(proto: "UNKNOWN"),
|
||||
1: .same(proto: "REQUEST"),
|
||||
2: .same(proto: "RESPONSE"),
|
||||
2: .same(proto: "RESPONSE")
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue