Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Server / System / Data / Services / CachedRequestParams.cs / 1 / 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
- ItemsPanelTemplate.cs
- Mutex.cs
- UIElement3D.cs
- WindowsListViewItem.cs
- ImageSourceValueSerializer.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- designeractionlistschangedeventargs.cs
- CodeTypeReference.cs
- ContainerControl.cs
- ScriptControl.cs
- securitycriticaldata.cs
- ColumnResizeUndoUnit.cs
- ButtonBase.cs
- WebServiceParameterData.cs
- ContextDataSourceContextData.cs
- NameSpaceExtractor.cs
- SplitContainer.cs
- LinkDescriptor.cs
- BinaryUtilClasses.cs
- TraversalRequest.cs
- BitSet.cs
- FrameworkTextComposition.cs
- TableRow.cs
- ConnectionInterfaceCollection.cs
- SapiRecoContext.cs
- EdmToObjectNamespaceMap.cs
- HttpServerVarsCollection.cs
- CloudCollection.cs
- AssemblyCollection.cs
- ObjectAnimationBase.cs
- HealthMonitoringSectionHelper.cs
- IntSecurity.cs
- ExtenderProvidedPropertyAttribute.cs
- ContextCorrelationInitializer.cs
- TextSchema.cs
- ConfigurationSectionGroup.cs
- WebBrowsableAttribute.cs
- TextViewSelectionProcessor.cs
- MULTI_QI.cs
- HtmlWindowCollection.cs
- XmlIlVisitor.cs
- XmlHelper.cs
- ScopedKnownTypes.cs
- Point.cs
- CookielessHelper.cs
- ParserOptions.cs
- xmlformatgeneratorstatics.cs
- FactoryMaker.cs
- HashHelper.cs
- NameNode.cs
- ZoneMembershipCondition.cs
- AdRotator.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- RowUpdatingEventArgs.cs
- PropertyRecord.cs
- TreeNodeBinding.cs
- MeshGeometry3D.cs
- HwndPanningFeedback.cs
- OracleColumn.cs
- SqlCachedBuffer.cs
- SynchronizedDisposablePool.cs
- ScriptComponentDescriptor.cs
- WindowsListViewItemCheckBox.cs
- CodePageEncoding.cs
- StylusLogic.cs
- ToolbarAUtomationPeer.cs
- MaskedTextBoxTextEditor.cs
- PriorityItem.cs
- ProcessThreadCollection.cs
- PageTheme.cs
- DrawingCollection.cs
- TokenBasedSetEnumerator.cs
- TreeNodeMouseHoverEvent.cs
- Directory.cs
- ActiveXSite.cs
- FormatterServices.cs
- cache.cs
- AndCondition.cs
- TrustExchangeException.cs
- SiteMapDataSource.cs
- ReadWriteSpinLock.cs
- Nullable.cs
- UnaryExpressionHelper.cs
- TlsSspiNegotiation.cs
- AlternateView.cs
- ButtonFieldBase.cs
- Convert.cs
- OutOfProcStateClientManager.cs
- WmlTextBoxAdapter.cs
- SessionEndingCancelEventArgs.cs
- X509CertificateChain.cs
- autovalidator.cs
- NamedObject.cs
- RtfControlWordInfo.cs
- LockedAssemblyCache.cs
- DisposableCollectionWrapper.cs
- CanonicalFormWriter.cs
- DependencyPropertyKind.cs
- InputReportEventArgs.cs
- ExpressionReplacer.cs