@tsonic/dotnet
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library)
399 lines (320 loc) • 17.8 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Net.WebSockets
// Assembly: System.Net.HttpListener, System.Net.WebSockets, System.Net.WebSockets.Client
// Branded primitive types are sourced from @tsonic/types
import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types';
// Import types from other namespaces
import type { IEnumerable_1, IReadOnlyDictionary_2 } from "../../System.Collections.Generic/internal/index.js";
import type { NameValueCollection } from "../../System.Collections.Specialized/internal/index.js";
import type { IDictionary } from "../../System.Collections/internal/index.js";
import * as System_ComponentModel_Internal from "../../System.ComponentModel/internal/index.js";
import type { Win32Exception } from "../../System.ComponentModel/internal/index.js";
import * as System_IO_Internal from "../../System.IO/internal/index.js";
import type { SeekOrigin, Stream } from "../../System.IO/internal/index.js";
import type { HttpMessageInvoker, HttpVersionPolicy } from "../../System.Net.Http/internal/index.js";
import type { RemoteCertificateValidationCallback } from "../../System.Net.Security/internal/index.js";
import type { CookieCollection, CookieContainer, HttpStatusCode, ICredentials, IWebProxy } from "../../System.Net/internal/index.js";
import type { MethodBase } from "../../System.Reflection/internal/index.js";
import * as System_Runtime_Serialization_Internal from "../../System.Runtime.Serialization/internal/index.js";
import type { ISerializable, SerializationInfo, StreamingContext } from "../../System.Runtime.Serialization/internal/index.js";
import type { X509CertificateCollection } from "../../System.Security.Cryptography.X509Certificates/internal/index.js";
import type { IPrincipal } from "../../System.Security.Principal/internal/index.js";
import type { Task, Task_1, ValueTask, ValueTask_1 } from "../../System.Threading.Tasks/internal/index.js";
import type { CancellationToken } from "../../System.Threading/internal/index.js";
import * as System_Internal from "../../System/internal/index.js";
import type { ArraySegment_1, AsyncCallback, Boolean as ClrBoolean, Byte, Enum, Exception, IAsyncDisposable, IAsyncResult, IComparable, IConvertible, IDisposable, IFormatProvider, IFormattable, Int32, Int64, ISpanFormattable, Memory_1, Nullable_1, Object as ClrObject, ReadOnlyMemory_1, ReadOnlySpan_1, Span_1, String as ClrString, TimeSpan, Type, TypeCode, Uri, ValueType, Version, Void } from "../../System/internal/index.js";
// CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints
// This utility is used ONLY in generic type arguments to satisfy CLR interface constraints
// Value positions (parameters, return types) use lowercase primitives for ergonomics
export type CLROf<T> =
T extends sbyte ? System_Internal.SByte :
T extends short ? System_Internal.Int16 :
T extends int ? System_Internal.Int32 :
T extends long ? System_Internal.Int64 :
T extends int128 ? System_Internal.Int128 :
T extends nint ? System_Internal.IntPtr :
T extends byte ? System_Internal.Byte :
T extends ushort ? System_Internal.UInt16 :
T extends uint ? System_Internal.UInt32 :
T extends ulong ? System_Internal.UInt64 :
T extends uint128 ? System_Internal.UInt128 :
T extends nuint ? System_Internal.UIntPtr :
T extends half ? System_Internal.Half :
T extends float ? System_Internal.Single :
T extends double ? System_Internal.Double :
T extends decimal ? System_Internal.Decimal :
T extends char ? System_Internal.Char :
T extends boolean ? System_Internal.Boolean :
T extends string ? System_Internal.String :
T; // Identity fallback for non-primitive types
export enum WebSocketCloseStatus {
normalClosure = 1000,
endpointUnavailable = 1001,
protocolError = 1002,
invalidMessageType = 1003,
empty = 1005,
invalidPayloadData = 1007,
policyViolation = 1008,
messageTooBig = 1009,
mandatoryExtension = 1010,
internalServerError = 1011
}
export enum WebSocketError {
success = 0,
invalidMessageType = 1,
faulted = 2,
nativeError = 3,
notAWebSocket = 4,
unsupportedVersion = 5,
unsupportedProtocol = 6,
headerError = 7,
connectionClosedPrematurely = 8,
invalidState = 9
}
export enum WebSocketMessageFlags {
none = 0,
endOfMessage = 1,
disableCompression = 2
}
export enum WebSocketMessageType {
text = 0,
binary = 1,
close = 2
}
export enum WebSocketState {
none = 0,
connecting = 1,
open = 2,
closeSent = 3,
closeReceived = 4,
closed = 5,
aborted = 6
}
export interface ValueWebSocketReceiveResult$instance {
readonly count: int;
readonly endOfMessage: boolean;
readonly messageType: WebSocketMessageType;
}
export const ValueWebSocketReceiveResult: {
new(count: int, messageType: WebSocketMessageType, endOfMessage: boolean): ValueWebSocketReceiveResult$instance;
};
export type ValueWebSocketReceiveResult = ValueWebSocketReceiveResult$instance;
export interface ClientWebSocket$instance extends WebSocket$instance {
readonly closeStatus: Nullable_1<WebSocketCloseStatus>;
readonly closeStatusDescription: string;
httpResponseHeaders: IReadOnlyDictionary_2<CLROf<string>, IEnumerable_1<CLROf<string>>>;
readonly httpStatusCode: HttpStatusCode;
readonly options: ClientWebSocketOptions;
readonly state: WebSocketState;
readonly subProtocol: string;
abort(): void;
closeAsync(closeStatus: WebSocketCloseStatus, statusDescription: string, cancellationToken: CancellationToken): Task;
closeOutputAsync(closeStatus: WebSocketCloseStatus, statusDescription: string, cancellationToken: CancellationToken): Task;
connectAsync(uri: Uri, cancellationToken: CancellationToken): Task;
connectAsync(uri: Uri, invoker: HttpMessageInvoker, cancellationToken: CancellationToken): Task;
dispose(): void;
receiveAsync(buffer: ArraySegment_1<CLROf<byte>>, cancellationToken: CancellationToken): Task_1<WebSocketReceiveResult>;
receiveAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken: CancellationToken): ValueTask_1<ValueWebSocketReceiveResult>;
receiveAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken: CancellationToken): ValueTask_1<ValueWebSocketReceiveResult>;
sendAsync(buffer: ArraySegment_1<CLROf<byte>>, messageType: WebSocketMessageType, endOfMessage: boolean, cancellationToken: CancellationToken): Task;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, endOfMessage: boolean, cancellationToken: CancellationToken): ValueTask;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, messageFlags: WebSocketMessageFlags, cancellationToken: CancellationToken): ValueTask;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, endOfMessage: boolean, cancellationToken: CancellationToken): ValueTask;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, messageFlags: WebSocketMessageFlags, cancellationToken?: CancellationToken): ValueTask;
}
export const ClientWebSocket: {
new(): ClientWebSocket$instance;
};
export interface __ClientWebSocket$views {
As_IDisposable(): System_Internal.IDisposable$instance;
}
export type ClientWebSocket = ClientWebSocket$instance & __ClientWebSocket$views;
export interface ClientWebSocketOptions$instance {
clientCertificates: X509CertificateCollection;
collectHttpResponseDetails: boolean;
cookies: CookieContainer;
credentials: ICredentials;
dangerousDeflateOptions: WebSocketDeflateOptions;
httpVersion: Version;
httpVersionPolicy: HttpVersionPolicy;
keepAliveInterval: TimeSpan;
keepAliveTimeout: TimeSpan;
proxy: IWebProxy;
remoteCertificateValidationCallback: RemoteCertificateValidationCallback;
useDefaultCredentials: boolean;
addSubProtocol(subProtocol: string): void;
setBuffer(receiveBufferSize: int, sendBufferSize: int): void;
setBuffer(receiveBufferSize: int, sendBufferSize: int, buffer: ArraySegment_1<CLROf<byte>>): void;
setRequestHeader(headerName: string, headerValue: string): void;
}
export const ClientWebSocketOptions: {
new(): ClientWebSocketOptions$instance;
};
export type ClientWebSocketOptions = ClientWebSocketOptions$instance;
export interface HttpListenerWebSocketContext$instance extends WebSocketContext {
readonly cookieCollection: CookieCollection;
readonly headers: NameValueCollection;
readonly isAuthenticated: boolean;
readonly isLocal: boolean;
readonly isSecureConnection: boolean;
readonly origin: string;
readonly requestUri: Uri;
readonly secWebSocketKey: string;
readonly secWebSocketProtocols: IEnumerable_1<CLROf<string>>;
readonly secWebSocketVersion: string;
readonly user: IPrincipal;
readonly webSocket: WebSocket;
}
export const HttpListenerWebSocketContext: {
new(): HttpListenerWebSocketContext$instance;
};
export type HttpListenerWebSocketContext = HttpListenerWebSocketContext$instance;
export interface WebSocket$instance {
readonly closeStatus: Nullable_1<WebSocketCloseStatus>;
readonly closeStatusDescription: string;
readonly state: WebSocketState;
readonly subProtocol: string;
abort(): void;
closeAsync(closeStatus: WebSocketCloseStatus, statusDescription: string, cancellationToken: CancellationToken): Task;
closeOutputAsync(closeStatus: WebSocketCloseStatus, statusDescription: string, cancellationToken: CancellationToken): Task;
dispose(): void;
receiveAsync(buffer: ArraySegment_1<CLROf<byte>>, cancellationToken: CancellationToken): Task_1<WebSocketReceiveResult>;
receiveAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken: CancellationToken): ValueTask_1<ValueWebSocketReceiveResult>;
sendAsync(buffer: ArraySegment_1<CLROf<byte>>, messageType: WebSocketMessageType, endOfMessage: boolean, cancellationToken: CancellationToken): Task;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, endOfMessage: boolean, cancellationToken: CancellationToken): ValueTask;
sendAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, messageType: WebSocketMessageType, messageFlags: WebSocketMessageFlags, cancellationToken?: CancellationToken): ValueTask;
}
export const WebSocket: {
readonly defaultKeepAliveInterval: TimeSpan;
createClientBuffer(receiveBufferSize: int, sendBufferSize: int): ArraySegment_1<CLROf<byte>>;
createClientWebSocket(innerStream: Stream, subProtocol: string, receiveBufferSize: int, sendBufferSize: int, keepAliveInterval: TimeSpan, useZeroMaskingKey: boolean, internalBuffer: ArraySegment_1<CLROf<byte>>): WebSocket;
createFromStream(stream: Stream, isServer: boolean, subProtocol: string, keepAliveInterval: TimeSpan): WebSocket;
createFromStream(stream: Stream, options: WebSocketCreationOptions): WebSocket;
createServerBuffer(receiveBufferSize: int): ArraySegment_1<CLROf<byte>>;
isApplicationTargeting45(): boolean;
registerPrefixes(): void;
};
export interface __WebSocket$views {
As_IDisposable(): System_Internal.IDisposable$instance;
}
export interface WebSocket$instance extends System_Internal.IDisposable$instance {}
export type WebSocket = WebSocket$instance & __WebSocket$views;
export interface WebSocketContext$instance {
readonly cookieCollection: CookieCollection;
readonly headers: NameValueCollection;
readonly isAuthenticated: boolean;
readonly isLocal: boolean;
readonly isSecureConnection: boolean;
readonly origin: string;
readonly requestUri: Uri;
readonly secWebSocketKey: string;
readonly secWebSocketProtocols: IEnumerable_1<CLROf<string>>;
readonly secWebSocketVersion: string;
readonly user: IPrincipal;
readonly webSocket: WebSocket;
}
export const WebSocketContext: {
};
export type WebSocketContext = WebSocketContext$instance;
export interface WebSocketCreationOptions$instance {
dangerousDeflateOptions: WebSocketDeflateOptions;
isServer: boolean;
keepAliveInterval: TimeSpan;
keepAliveTimeout: TimeSpan;
subProtocol: string;
}
export const WebSocketCreationOptions: {
new(): WebSocketCreationOptions$instance;
};
export type WebSocketCreationOptions = WebSocketCreationOptions$instance;
export interface WebSocketDeflateOptions$instance {
clientContextTakeover: boolean;
clientMaxWindowBits: int;
serverContextTakeover: boolean;
serverMaxWindowBits: int;
}
export const WebSocketDeflateOptions: {
new(): WebSocketDeflateOptions$instance;
};
export type WebSocketDeflateOptions = WebSocketDeflateOptions$instance;
export interface WebSocketException$instance extends Win32Exception {
readonly errorCode: int;
readonly webSocketErrorCode: WebSocketError;
getObjectData(info: SerializationInfo, context: StreamingContext): void;
}
export const WebSocketException: {
new(): WebSocketException$instance;
new(error: WebSocketError): WebSocketException$instance;
new(error: WebSocketError, message: string): WebSocketException$instance;
new(error: WebSocketError, innerException: Exception): WebSocketException$instance;
new(error: WebSocketError, message: string, innerException: Exception): WebSocketException$instance;
new(nativeError: int): WebSocketException$instance;
new(nativeError: int, message: string): WebSocketException$instance;
new(nativeError: int, innerException: Exception): WebSocketException$instance;
new(error: WebSocketError, nativeError: int): WebSocketException$instance;
new(error: WebSocketError, nativeError: int, message: string): WebSocketException$instance;
new(error: WebSocketError, nativeError: int, innerException: Exception): WebSocketException$instance;
new(error: WebSocketError, nativeError: int, message: string, innerException: Exception): WebSocketException$instance;
new(message: string): WebSocketException$instance;
new(message: string, innerException: Exception): WebSocketException$instance;
};
export interface __WebSocketException$views {
As_ISerializable(): System_Runtime_Serialization_Internal.ISerializable$instance;
}
export type WebSocketException = WebSocketException$instance & __WebSocketException$views;
export interface WebSocketReceiveResult$instance {
readonly closeStatus: Nullable_1<WebSocketCloseStatus>;
readonly closeStatusDescription: string;
readonly count: int;
readonly endOfMessage: boolean;
readonly messageType: WebSocketMessageType;
}
export const WebSocketReceiveResult: {
new(count: int, messageType: WebSocketMessageType, endOfMessage: boolean): WebSocketReceiveResult$instance;
new(count: int, messageType: WebSocketMessageType, endOfMessage: boolean, closeStatus: Nullable_1<WebSocketCloseStatus>, closeStatusDescription: string): WebSocketReceiveResult$instance;
};
export type WebSocketReceiveResult = WebSocketReceiveResult$instance;
export interface WebSocketStream$instance extends Stream {
readonly canRead: boolean;
readonly canSeek: boolean;
readonly canWrite: boolean;
readonly length: long;
position: long;
readonly webSocket: WebSocket;
beginRead(buffer: byte[], offset: int, count: int, callback: AsyncCallback, state: unknown): IAsyncResult;
beginWrite(buffer: byte[], offset: int, count: int, callback: AsyncCallback, state: unknown): IAsyncResult;
dispose(): void;
disposeAsync(): ValueTask;
endRead(asyncResult: IAsyncResult): int;
endWrite(asyncResult: IAsyncResult): void;
flush(): void;
flushAsync(cancellationToken: CancellationToken): Task;
flushAsync(): Task;
read(buffer: byte[], offset: int, count: int): int;
read(buffer: Span_1<CLROf<byte>>): int;
readAsync(buffer: byte[], offset: int, count: int, cancellationToken: CancellationToken): Task_1<CLROf<int>>;
readAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask_1<CLROf<int>>;
readAsync(buffer: byte[], offset: int, count: int): Task_1<CLROf<int>>;
readAsync(buffer: byte[], offset: int, count: int, cancellationToken: CancellationToken): Task_1<CLROf<int>>;
readAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask_1<CLROf<int>>;
seek(offset: long, origin: SeekOrigin): long;
setLength(value: long): void;
write(buffer: byte[], offset: int, count: int): void;
write(buffer: ReadOnlySpan_1<CLROf<byte>>): void;
writeAsync(buffer: byte[], offset: int, count: int, cancellationToken: CancellationToken): Task;
writeAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask;
writeAsync(buffer: byte[], offset: int, count: int): Task;
writeAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask;
}
export const WebSocketStream: {
new(): WebSocketStream$instance;
create(webSocket: WebSocket, writeMessageType: WebSocketMessageType, ownsWebSocket?: boolean): WebSocketStream;
create(webSocket: WebSocket, writeMessageType: WebSocketMessageType, closeTimeout: TimeSpan): WebSocketStream;
createReadableMessageStream(webSocket: WebSocket): WebSocketStream;
createWritableMessageStream(webSocket: WebSocket, writeMessageType: WebSocketMessageType): WebSocketStream;
};
export interface __WebSocketStream$views {
As_IAsyncDisposable(): System_Internal.IAsyncDisposable$instance;
As_IDisposable(): System_Internal.IDisposable$instance;
}
export type WebSocketStream = WebSocketStream$instance & __WebSocketStream$views;