| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // <copyright>
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- namespace System.ServiceModel.Channels
- {
- using System.Collections.ObjectModel;
- using System.Net.Http;
- using System.Net.WebSockets;
- public sealed class WebSocketMessageProperty
- {
- public const string Name = "WebSocketMessageProperty";
- WebSocketContext context;
- string subProtocol;
- WebSocketMessageType messageType;
- ReadOnlyDictionary<string, object> properties;
- public WebSocketMessageProperty()
- {
- this.messageType = WebSocketDefaults.DefaultWebSocketMessageType;
- }
- internal WebSocketMessageProperty(WebSocketContext context, string subProtocol, WebSocketMessageType incomingMessageType, ReadOnlyDictionary<string, object> properties)
- {
- this.context = context;
- this.subProtocol = subProtocol;
- this.messageType = incomingMessageType;
- this.properties = properties;
- }
- public WebSocketContext WebSocketContext
- {
- get { return this.context; }
- }
- public string SubProtocol
- {
- get { return this.subProtocol; }
- }
- public WebSocketMessageType MessageType
- {
- get { return this.messageType; }
- set { this.messageType = value; }
- }
- public ReadOnlyDictionary<string, object> OpeningHandshakeProperties
- {
- get
- {
- if (this.properties == null)
- {
- throw FxTrace.Exception.AsError(new InvalidOperationException(SR.GetString(
- SR.WebSocketOpeningHandshakePropertiesNotAvailable,
- "RequestMessage",
- typeof(HttpResponseMessage).Name,
- typeof(DelegatingHandler).Name)));
- }
- return this.properties;
- }
- }
- }
- }
|