HttpConnection.d.ts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { IConnection } from "./IConnection";
  2. import { IHttpConnectionOptions } from "./IHttpConnectionOptions";
  3. import { HttpTransportType, ITransport, TransferFormat } from "./ITransport";
  4. /** @private */
  5. export interface INegotiateResponse {
  6. connectionId?: string;
  7. connectionToken?: string;
  8. negotiateVersion?: number;
  9. availableTransports?: IAvailableTransport[];
  10. url?: string;
  11. accessToken?: string;
  12. error?: string;
  13. }
  14. /** @private */
  15. export interface IAvailableTransport {
  16. transport: keyof typeof HttpTransportType;
  17. transferFormats: (keyof typeof TransferFormat)[];
  18. }
  19. /** @private */
  20. export declare class HttpConnection implements IConnection {
  21. private _connectionState;
  22. private _connectionStarted;
  23. private readonly _httpClient;
  24. private readonly _logger;
  25. private readonly _options;
  26. private transport?;
  27. private _startInternalPromise?;
  28. private _stopPromise?;
  29. private _stopPromiseResolver;
  30. private _stopError?;
  31. private _accessTokenFactory?;
  32. private _sendQueue?;
  33. readonly features: any;
  34. baseUrl: string;
  35. connectionId?: string;
  36. onreceive: ((data: string | ArrayBuffer) => void) | null;
  37. onclose: ((e?: Error) => void) | null;
  38. private readonly _negotiateVersion;
  39. constructor(url: string, options?: IHttpConnectionOptions);
  40. start(): Promise<void>;
  41. start(transferFormat: TransferFormat): Promise<void>;
  42. send(data: string | ArrayBuffer): Promise<void>;
  43. stop(error?: Error): Promise<void>;
  44. private _stopInternal;
  45. private _startInternal;
  46. private _getNegotiationResponse;
  47. private _createConnectUrl;
  48. private _createTransport;
  49. private _constructTransport;
  50. private _startTransport;
  51. private _resolveTransportOrError;
  52. private _isITransport;
  53. private _stopConnection;
  54. private _resolveUrl;
  55. private _resolveNegotiateUrl;
  56. }
  57. /** @private */
  58. export declare class TransportSendQueue {
  59. private readonly _transport;
  60. private _buffer;
  61. private _sendBufferedData;
  62. private _executing;
  63. private _transportResult?;
  64. private _sendLoopPromise;
  65. constructor(_transport: ITransport);
  66. send(data: string | ArrayBuffer): Promise<void>;
  67. stop(): Promise<void>;
  68. private _bufferData;
  69. private _sendLoop;
  70. private static _concatBuffers;
  71. }