Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ProviderUtil.cs
- FixedPageAutomationPeer.cs
- serverconfig.cs
- RectAnimationBase.cs
- VirtualPath.cs
- TreeNodeCollection.cs
- Stopwatch.cs
- XmlValueConverter.cs
- ProcessMessagesAsyncResult.cs
- OdbcHandle.cs
- ConfigXmlSignificantWhitespace.cs
- FontWeights.cs
- SimpleHandlerBuildProvider.cs
- ClrProviderManifest.cs
- XmlElement.cs
- SpeechSeg.cs
- HwndAppCommandInputProvider.cs
- ExchangeUtilities.cs
- WebPartDisplayModeCollection.cs
- WebBrowser.cs
- WinInetCache.cs
- InheritablePropertyChangeInfo.cs
- DocumentEventArgs.cs
- SqlBuilder.cs
- UnicastIPAddressInformationCollection.cs
- SQLDecimal.cs
- CallbackHandler.cs
- X509DefaultServiceCertificateElement.cs
- TreeViewHitTestInfo.cs
- ExpressionConverter.cs
- BoundColumn.cs
- InputBuffer.cs
- linebase.cs
- SqlDataSourceConfigureFilterForm.cs
- MarshalByRefObject.cs
- ListItemCollection.cs
- ElapsedEventArgs.cs
- WebPartZone.cs
- Iis7Helper.cs
- DoubleCollectionConverter.cs
- AsyncStreamReader.cs
- SingleAnimationUsingKeyFrames.cs
- EventSinkActivityDesigner.cs
- CodeArrayIndexerExpression.cs
- Documentation.cs
- Resources.Designer.cs
- compensatingcollection.cs
- OracleTransaction.cs
- SymbolEqualComparer.cs
- XmlSerializerFactory.cs
- GridViewColumn.cs
- ResourcesGenerator.cs
- GridItemPattern.cs
- CanonicalXml.cs
- DataGridViewColumnTypePicker.cs
- DataGridViewColumn.cs
- PathFigure.cs
- BamlVersionHeader.cs
- RotateTransform3D.cs
- SmtpException.cs
- HideDisabledControlAdapter.cs
- DataViewListener.cs
- DataColumnMappingCollection.cs
- WebPartTransformer.cs
- WebPartDeleteVerb.cs
- LOSFormatter.cs
- ImageSource.cs
- InnerItemCollectionView.cs
- GenericPrincipal.cs
- BaseResourcesBuildProvider.cs
- ContextMenuStripGroupCollection.cs
- EasingKeyFrames.cs
- CodeTypeConstructor.cs
- ReadOnlyPropertyMetadata.cs
- MetaModel.cs
- WorkflowQueuingService.cs
- HttpApplicationFactory.cs
- TextDecoration.cs
- UnsafeNativeMethods.cs
- DesignTimeSiteMapProvider.cs
- TransformGroup.cs
- CssTextWriter.cs
- EventTrigger.cs
- MenuItem.cs
- MemberProjectedSlot.cs
- SchemaDeclBase.cs
- HtmlHead.cs
- MaskInputRejectedEventArgs.cs
- FloaterParaClient.cs
- XmlSchemaObjectTable.cs
- CompiledQuery.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ListViewSelectEventArgs.cs
- ToolStripDesignerUtils.cs
- WebPartConnectionsConnectVerb.cs
- WebPartVerbCollection.cs
- FixedStringLookup.cs
- _OSSOCK.cs
- ChannelEndpointElement.cs
- AssertFilter.cs