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
- WsrmMessageInfo.cs
- CompiledIdentityConstraint.cs
- ReceiveSecurityHeaderEntry.cs
- XpsDocumentEvent.cs
- XmlCDATASection.cs
- SqlResolver.cs
- SiteMapPathDesigner.cs
- EntityReference.cs
- ManagementObjectSearcher.cs
- CodeDOMProvider.cs
- UnsafeCollabNativeMethods.cs
- ResetableIterator.cs
- TransformedBitmap.cs
- TraceSwitch.cs
- ValidationSettings.cs
- URLIdentityPermission.cs
- FontFamilyValueSerializer.cs
- TextServicesLoader.cs
- PathFigureCollection.cs
- AutomationInteropProvider.cs
- WebBrowserPermission.cs
- SdlChannelSink.cs
- DetailsViewCommandEventArgs.cs
- _SslStream.cs
- MinimizableAttributeTypeConverter.cs
- ColorConvertedBitmapExtension.cs
- UnsafeNativeMethodsMilCoreApi.cs
- xdrvalidator.cs
- SuppressMergeCheckAttribute.cs
- EdmFunction.cs
- LayoutDump.cs
- DiscoveryClientProtocol.cs
- ScrollBarRenderer.cs
- SingleObjectCollection.cs
- BamlTreeNode.cs
- ServiceChannelFactory.cs
- SQLInt32Storage.cs
- QueryException.cs
- DeploymentSection.cs
- ScriptResourceHandler.cs
- Timer.cs
- ScaleTransform3D.cs
- SrgsRuleRef.cs
- PropertyChangedEventManager.cs
- DriveInfo.cs
- TypeSystem.cs
- ObjectListShowCommandsEventArgs.cs
- RangeBase.cs
- OutputCacheSettings.cs
- MasterPageBuildProvider.cs
- CriticalHandle.cs
- TemplatedAdorner.cs
- OrderByExpression.cs
- ColumnPropertiesGroup.cs
- PageParserFilter.cs
- DesignOnlyAttribute.cs
- ObjectStateFormatter.cs
- DataStreams.cs
- MatrixTransform3D.cs
- SingleObjectCollection.cs
- SchemaImporterExtensionsSection.cs
- UiaCoreApi.cs
- XmlSchemaSet.cs
- TextBoxBase.cs
- OleDbFactory.cs
- PriorityItem.cs
- RsaKeyGen.cs
- PermissionSet.cs
- PropertyIDSet.cs
- FrameworkContentElement.cs
- OpenTypeLayout.cs
- columnmapfactory.cs
- WebColorConverter.cs
- ClientUtils.cs
- GridViewAutomationPeer.cs
- TableLayout.cs
- XmlSchemaAll.cs
- WeakRefEnumerator.cs
- FlowLayoutPanel.cs
- DefaultSerializationProviderAttribute.cs
- XamlBrushSerializer.cs
- InProcStateClientManager.cs
- Int16Converter.cs
- compensatingcollection.cs
- DataSourceCacheDurationConverter.cs
- TabControlAutomationPeer.cs
- ToolStripScrollButton.cs
- SerializationAttributes.cs
- DefaultAssemblyResolver.cs
- WizardForm.cs
- LockCookie.cs
- ClientRuntimeConfig.cs
- IndexedGlyphRun.cs
- ServiceManager.cs
- WebPartAddingEventArgs.cs
- PersonalizationStateInfoCollection.cs
- ConfigViewGenerator.cs
- WebPartAddingEventArgs.cs
- CallbackValidator.cs
- CompilerHelpers.cs