You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/Signal/src/network/http/HttpManager.h

47 lines
1.7 KiB
Objective-C

#import <Foundation/Foundation.h>
#import "NetworkEndPoint.h"
#import "Logging.h"
#import "Terminable.h"
#import "Queue.h"
#import "PacketHandler.h"
#import "HttpSocket.h"
/**
*
* HttpManager handles asynchronously performing and responding to http requests/responses.
*
*/
@interface HttpManager : NSObject<Terminable> {
@private HttpSocket* httpChannel;
@private Queue* eventualResponseQueue;
@private bool isStarted;
@private TOCCancelTokenSource* lifetime;
}
+(HttpManager*) httpManagerFor:(HttpSocket*)httpSocket
untilCancelled:(TOCCancelToken*)untilCancelledToken;
+(HttpManager*) startWithEndPoint:(id<NetworkEndPoint>)endPoint
untilCancelled:(TOCCancelToken*)untilCancelledToken;
-(TOCFuture*) asyncResponseForRequest:(HttpRequest*)request
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
-(TOCFuture*) asyncOkResponseForRequest:(HttpRequest*)request
unlessCancelled:(TOCCancelToken*)unlessCancelledToken;
-(void) startWithRejectingRequestHandlerAndErrorHandler:(ErrorHandlerBlock)errorHandler
untilCancelled:(TOCCancelToken*)untilCancelledToken;
-(void) startWithRequestHandler:(HttpResponse*(^)(HttpRequest* remoteRequest))requestHandler
andErrorHandler:(ErrorHandlerBlock)errorHandler
untilCancelled:(TOCCancelToken*)untilCancelledToken;
-(void) terminateWhenDoneCurrentWork;
+(TOCFuture*) asyncOkResponseFromMasterServer:(HttpRequest*)request
unlessCancelled:(TOCCancelToken*)unlessCancelledToken
andErrorHandler:(ErrorHandlerBlock)errorHandler;
@end