Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Server / System / Data / Services / CachedRequestParams.cs / 2 / CachedRequestParams.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Caches the value of all request headers // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services { #region Namespaces. using System; using System.Diagnostics; #endregion Namespaces. ////// Enum to represent various http methods /// internal enum AstoriaVerbs { #region Values. ///Not Initialized. None, ///Represents the GET http method. GET, ///Represents the PUT http method. PUT, ///Represents the POST http method. POST, ///Represents the DELETE http method. DELETE, ///Represents the MERGE http method. MERGE #endregion Values. } ////// Use this class to hold on to request parameters that may be inaccessible after a response writing begins. /// [DebuggerDisplay("{HttpMethod} {AbsoluteRequestUri}")] internal class CachedRequestParams { #region Fields. ///Gets the absolute resource upon which to apply the request. internal readonly Uri AbsoluteRequestUri; ///Gets the absolute URI to the service. internal readonly Uri AbsoluteServiceUri; ///Value for the Accept header. internal readonly string Accept; ///Value for the Accept-Charset header. internal readonly string AcceptCharset; ///Value of the Content-Type header. internal readonly string ContentType; ///HTTP method used for the request. internal readonly string HttpMethod; ///Value for the If-Match header. internal readonly string IfMatch; ///Value for the If-None-Match header. internal readonly string IfNoneMatch; ///Value for the MaxDataServiceVersion header. internal readonly string MaxVersion; ///Value for the DataServiceVersion header. internal readonly string Version; ///enum indicating http method used on the request, private AstoriaVerbs astoriaHttpVerb; #endregion Fields. #region Constructors. ///Initializes a new /// Value for the Accept header. /// Value for the Accept-Charset header. /// Value of the Content-Type header. /// HTTP method used for the request. /// Value for the If-Match header. /// Value for the If-None-Match header. /// Value for the DataServiceVersion header. /// Value for the MaxDataServiceVersion header. /// The absolute URI to the resource upon which to apply the request. /// URI to the service. internal CachedRequestParams( string accept, string acceptCharset, string contentType, string httpMethod, string headerIfMatch, string headerIfNoneMatch, string version, string maxVersion, Uri absoluteRequestUri, Uri serviceUri) { Debug.Assert(absoluteRequestUri != null, "absoluteRequestUri != null"); Debug.Assert(serviceUri != null, "serviceUri != null"); Debug.Assert(absoluteRequestUri.IsAbsoluteUri, "absoluteRequestUri.IsAbsoluteUri(" + absoluteRequestUri + ")"); Debug.Assert(serviceUri.IsAbsoluteUri, "serviceUri.IsAbsoluteUri(" + serviceUri + ")"); this.Accept = accept; this.AcceptCharset = acceptCharset; this.ContentType = contentType; this.HttpMethod = httpMethod; this.IfMatch = headerIfMatch; this.IfNoneMatch = headerIfNoneMatch; this.AbsoluteRequestUri = absoluteRequestUri; this.AbsoluteServiceUri = serviceUri; this.MaxVersion = maxVersion; this.Version = version; this.astoriaHttpVerb = AstoriaVerbs.None; } #endregion Constructors. #region Properties. ///instance. /// Get the enum representing the http method name. /// /// http method used for the request. ///enum representing the http method name. internal AstoriaVerbs AstoriaHttpVerb { get { if (this.astoriaHttpVerb == AstoriaVerbs.None) { if (XmlConstants.HttpMethodGet == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.GET; } else if (XmlConstants.HttpMethodPost == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.POST; } else if (XmlConstants.HttpMethodPut == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.PUT; } else if (XmlConstants.HttpMethodMerge == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.MERGE; } else if (XmlConstants.HttpMethodDelete == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.DELETE; } else if (String.IsNullOrEmpty(this.HttpMethod)) { throw new InvalidOperationException(Strings.DataService_EmptyHttpMethod); } else { // 501: Not Implemented (rather than 405 - Method Not Allowed, // which implies it was understood and rejected). throw DataServiceException.CreateMethodNotImplemented(Strings.DataService_NotImplementedException); } } return this.astoriaHttpVerb; } } #endregion Properties. } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Caches the value of all request headers // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services { #region Namespaces. using System; using System.Diagnostics; #endregion Namespaces. ////// Enum to represent various http methods /// internal enum AstoriaVerbs { #region Values. ///Not Initialized. None, ///Represents the GET http method. GET, ///Represents the PUT http method. PUT, ///Represents the POST http method. POST, ///Represents the DELETE http method. DELETE, ///Represents the MERGE http method. MERGE #endregion Values. } ////// Use this class to hold on to request parameters that may be inaccessible after a response writing begins. /// [DebuggerDisplay("{HttpMethod} {AbsoluteRequestUri}")] internal class CachedRequestParams { #region Fields. ///Gets the absolute resource upon which to apply the request. internal readonly Uri AbsoluteRequestUri; ///Gets the absolute URI to the service. internal readonly Uri AbsoluteServiceUri; ///Value for the Accept header. internal readonly string Accept; ///Value for the Accept-Charset header. internal readonly string AcceptCharset; ///Value of the Content-Type header. internal readonly string ContentType; ///HTTP method used for the request. internal readonly string HttpMethod; ///Value for the If-Match header. internal readonly string IfMatch; ///Value for the If-None-Match header. internal readonly string IfNoneMatch; ///Value for the MaxDataServiceVersion header. internal readonly string MaxVersion; ///Value for the DataServiceVersion header. internal readonly string Version; ///enum indicating http method used on the request, private AstoriaVerbs astoriaHttpVerb; #endregion Fields. #region Constructors. ///Initializes a new /// Value for the Accept header. /// Value for the Accept-Charset header. /// Value of the Content-Type header. /// HTTP method used for the request. /// Value for the If-Match header. /// Value for the If-None-Match header. /// Value for the DataServiceVersion header. /// Value for the MaxDataServiceVersion header. /// The absolute URI to the resource upon which to apply the request. /// URI to the service. internal CachedRequestParams( string accept, string acceptCharset, string contentType, string httpMethod, string headerIfMatch, string headerIfNoneMatch, string version, string maxVersion, Uri absoluteRequestUri, Uri serviceUri) { Debug.Assert(absoluteRequestUri != null, "absoluteRequestUri != null"); Debug.Assert(serviceUri != null, "serviceUri != null"); Debug.Assert(absoluteRequestUri.IsAbsoluteUri, "absoluteRequestUri.IsAbsoluteUri(" + absoluteRequestUri + ")"); Debug.Assert(serviceUri.IsAbsoluteUri, "serviceUri.IsAbsoluteUri(" + serviceUri + ")"); this.Accept = accept; this.AcceptCharset = acceptCharset; this.ContentType = contentType; this.HttpMethod = httpMethod; this.IfMatch = headerIfMatch; this.IfNoneMatch = headerIfNoneMatch; this.AbsoluteRequestUri = absoluteRequestUri; this.AbsoluteServiceUri = serviceUri; this.MaxVersion = maxVersion; this.Version = version; this.astoriaHttpVerb = AstoriaVerbs.None; } #endregion Constructors. #region Properties. ///instance. /// Get the enum representing the http method name. /// /// http method used for the request. ///enum representing the http method name. internal AstoriaVerbs AstoriaHttpVerb { get { if (this.astoriaHttpVerb == AstoriaVerbs.None) { if (XmlConstants.HttpMethodGet == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.GET; } else if (XmlConstants.HttpMethodPost == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.POST; } else if (XmlConstants.HttpMethodPut == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.PUT; } else if (XmlConstants.HttpMethodMerge == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.MERGE; } else if (XmlConstants.HttpMethodDelete == this.HttpMethod) { this.astoriaHttpVerb = AstoriaVerbs.DELETE; } else if (String.IsNullOrEmpty(this.HttpMethod)) { throw new InvalidOperationException(Strings.DataService_EmptyHttpMethod); } else { // 501: Not Implemented (rather than 405 - Method Not Allowed, // which implies it was understood and rejected). throw DataServiceException.CreateMethodNotImplemented(Strings.DataService_NotImplementedException); } } return this.astoriaHttpVerb; } } #endregion Properties. } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RenderData.cs
- SevenBitStream.cs
- DbConnectionClosed.cs
- EntityDataSourceWrapperCollection.cs
- SystemUdpStatistics.cs
- RelatedView.cs
- BinaryQueryOperator.cs
- _LocalDataStoreMgr.cs
- PropertyNames.cs
- MatrixStack.cs
- EncoderFallback.cs
- InterleavedZipPartStream.cs
- ObjectDisposedException.cs
- DataServiceProviderWrapper.cs
- MailMessageEventArgs.cs
- FullTextState.cs
- SafeLocalAllocation.cs
- HitTestWithGeometryDrawingContextWalker.cs
- StretchValidation.cs
- XPathDocument.cs
- WebPartChrome.cs
- SqlMethodAttribute.cs
- ResourceCategoryAttribute.cs
- DotExpr.cs
- StylusButtonCollection.cs
- BooleanExpr.cs
- CodeArrayIndexerExpression.cs
- TdsParserSafeHandles.cs
- ImageMapEventArgs.cs
- SocketStream.cs
- SafeNativeMethods.cs
- CharacterBufferReference.cs
- infer.cs
- Track.cs
- ReadOnlyMetadataCollection.cs
- PatternMatcher.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- FontDialog.cs
- TextRange.cs
- Screen.cs
- IfAction.cs
- Select.cs
- DataViewManagerListItemTypeDescriptor.cs
- XmlChoiceIdentifierAttribute.cs
- QueryTask.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- GetIsBrowserClientRequest.cs
- ClassicBorderDecorator.cs
- IndexedSelectQueryOperator.cs
- _ServiceNameStore.cs
- XmlCDATASection.cs
- EnvelopedSignatureTransform.cs
- ColorConverter.cs
- XPathBinder.cs
- SoapAttributeAttribute.cs
- TextEffectCollection.cs
- Error.cs
- Odbc32.cs
- PageBuildProvider.cs
- XPathNodeIterator.cs
- ParserStack.cs
- ContextMenuAutomationPeer.cs
- MenuCommand.cs
- ProcessInfo.cs
- DependencyPropertyDescriptor.cs
- RtfFormatStack.cs
- IconBitmapDecoder.cs
- DataSvcMapFileSerializer.cs
- SecurityKeyType.cs
- Timer.cs
- FixedSOMPageConstructor.cs
- UrlMappingsSection.cs
- BuildProvidersCompiler.cs
- TakeOrSkipWhileQueryOperator.cs
- EditorPartChrome.cs
- TextPatternIdentifiers.cs
- TextDocumentView.cs
- StrokeIntersection.cs
- _DigestClient.cs
- KeyEventArgs.cs
- Decoder.cs
- HwndSource.cs
- SessionPageStateSection.cs
- GlyphShapingProperties.cs
- DependencySource.cs
- UserControl.cs
- DesignerActionVerbItem.cs
- CommandManager.cs
- GPStream.cs
- PrintControllerWithStatusDialog.cs
- ReaderWriterLockWrapper.cs
- ServicesUtilities.cs
- PaintValueEventArgs.cs
- Thread.cs
- InternalPolicyElement.cs
- NameTable.cs
- ControlAdapter.cs
- StreamWriter.cs
- FixUp.cs
- dbdatarecord.cs