Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / xsp / System / Web / Extensions / Script / Services / RestHandlerFactory.cs / 1 / RestHandlerFactory.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Script.Services { internal class RestHandlerFactory : IHttpHandlerFactory { internal const string ClientProxyRequestPathInfo = "/js"; internal const string ClientDebugProxyRequestPathInfo = "/jsdebug"; public virtual IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) { if (context == null) { throw new ArgumentNullException("context"); } if (IsClientProxyRequest(context.Request.PathInfo)) { // It's a request for client side proxies return new RestClientProxyHandler(); } else { // The request is an actual call to a server method return RestHandler.CreateHandler(context); } } public virtual void ReleaseHandler(IHttpHandler handler) { } // Detects if this is a request we want to intercept, i.e. invocation or proxy request internal static bool IsRestRequest(HttpContext context) { return IsRestMethodCall(context.Request) || IsClientProxyRequest(context.Request.PathInfo); } // Detects if this is a method invocation, i.e. webservice call or page method call internal static bool IsRestMethodCall(HttpRequest request) { return !String.IsNullOrEmpty(request.PathInfo) && (request.ContentType.StartsWith("application/json;", StringComparison.OrdinalIgnoreCase) || string.Equals(request.ContentType, "application/json", StringComparison.OrdinalIgnoreCase)); } internal static bool IsClientProxyDebugRequest(string pathInfo) { return string.Equals(pathInfo, ClientDebugProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase); } internal static bool IsClientProxyRequest(string pathInfo) { return (string.Equals(pathInfo, ClientProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase) || IsClientProxyDebugRequest(pathInfo)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Script.Services { internal class RestHandlerFactory : IHttpHandlerFactory { internal const string ClientProxyRequestPathInfo = "/js"; internal const string ClientDebugProxyRequestPathInfo = "/jsdebug"; public virtual IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated) { if (context == null) { throw new ArgumentNullException("context"); } if (IsClientProxyRequest(context.Request.PathInfo)) { // It's a request for client side proxies return new RestClientProxyHandler(); } else { // The request is an actual call to a server method return RestHandler.CreateHandler(context); } } public virtual void ReleaseHandler(IHttpHandler handler) { } // Detects if this is a request we want to intercept, i.e. invocation or proxy request internal static bool IsRestRequest(HttpContext context) { return IsRestMethodCall(context.Request) || IsClientProxyRequest(context.Request.PathInfo); } // Detects if this is a method invocation, i.e. webservice call or page method call internal static bool IsRestMethodCall(HttpRequest request) { return !String.IsNullOrEmpty(request.PathInfo) && (request.ContentType.StartsWith("application/json;", StringComparison.OrdinalIgnoreCase) || string.Equals(request.ContentType, "application/json", StringComparison.OrdinalIgnoreCase)); } internal static bool IsClientProxyDebugRequest(string pathInfo) { return string.Equals(pathInfo, ClientDebugProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase); } internal static bool IsClientProxyRequest(string pathInfo) { return (string.Equals(pathInfo, ClientProxyRequestPathInfo, StringComparison.OrdinalIgnoreCase) || IsClientProxyDebugRequest(pathInfo)); } } } // 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
- Subtract.cs
- Message.cs
- CounterSample.cs
- MappingMetadataHelper.cs
- UnmanagedBitmapWrapper.cs
- TransformCryptoHandle.cs
- ProxyFragment.cs
- QueryResponse.cs
- ValidationErrorCollection.cs
- DocumentPage.cs
- Comparer.cs
- XamlTreeBuilder.cs
- SignatureDescription.cs
- EdmComplexTypeAttribute.cs
- KnownTypes.cs
- CellRelation.cs
- BezierSegment.cs
- XmlEventCache.cs
- BuilderElements.cs
- RuntimeHandles.cs
- Drawing.cs
- DesignerTransactionCloseEvent.cs
- PeerInvitationResponse.cs
- OracleDateTime.cs
- PublisherIdentityPermission.cs
- RecognizerInfo.cs
- ListViewGroupConverter.cs
- CorrelationToken.cs
- XmlSchemaExternal.cs
- ReverseComparer.cs
- RawAppCommandInputReport.cs
- SolidColorBrush.cs
- CFStream.cs
- CodeSubDirectory.cs
- AsymmetricKeyExchangeDeformatter.cs
- ObservableCollection.cs
- OciHandle.cs
- ResponseStream.cs
- PointKeyFrameCollection.cs
- XmlCharType.cs
- ProfessionalColorTable.cs
- basecomparevalidator.cs
- GenericAuthenticationEventArgs.cs
- PagePropertiesChangingEventArgs.cs
- DocumentOutline.cs
- XmlDataLoader.cs
- Vector.cs
- BoundPropertyEntry.cs
- TimeoutValidationAttribute.cs
- RetrieveVirtualItemEventArgs.cs
- SafeEventLogWriteHandle.cs
- TextFragmentEngine.cs
- XPathSelectionIterator.cs
- GridViewCancelEditEventArgs.cs
- DataGridViewButtonColumn.cs
- ByteFacetDescriptionElement.cs
- SqlInternalConnectionSmi.cs
- LineUtil.cs
- SimpleWorkerRequest.cs
- InheritanceContextChangedEventManager.cs
- CompatibleIComparer.cs
- ButtonColumn.cs
- FrugalList.cs
- XNameConverter.cs
- ElementsClipboardData.cs
- SqlServices.cs
- WebPartMenu.cs
- EndOfStreamException.cs
- ObjectDataSourceFilteringEventArgs.cs
- DataGridViewLayoutData.cs
- HttpListenerContext.cs
- ChameleonKey.cs
- FactoryMaker.cs
- InternalSafeNativeMethods.cs
- WizardPanelChangingEventArgs.cs
- smtppermission.cs
- OLEDB_Enum.cs
- TransformerConfigurationWizardBase.cs
- Camera.cs
- XmlNamespaceDeclarationsAttribute.cs
- XmlProcessingInstruction.cs
- BuildManager.cs
- UpdatePanelControlTrigger.cs
- HGlobalSafeHandle.cs
- MdImport.cs
- BreakRecordTable.cs
- CompilerInfo.cs
- InkSerializer.cs
- Configuration.cs
- TableLayoutSettingsTypeConverter.cs
- QuaternionValueSerializer.cs
- CloudCollection.cs
- GlyphShapingProperties.cs
- BaseParser.cs
- ColumnPropertiesGroup.cs
- XsltConvert.cs
- EditingCoordinator.cs
- CompressedStack.cs
- GeometryConverter.cs
- InputBindingCollection.cs