Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OdbcConnectionStringbuilder.cs
- XhtmlBasicLinkAdapter.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SoapAttributeAttribute.cs
- SmiEventSink_DeferedProcessing.cs
- Size.cs
- DataListItemEventArgs.cs
- CodeCastExpression.cs
- ToolStripArrowRenderEventArgs.cs
- ViewManagerAttribute.cs
- FormViewInsertEventArgs.cs
- InheritanceAttribute.cs
- SqlUtils.cs
- SizeIndependentAnimationStorage.cs
- ControlUtil.cs
- BooleanStorage.cs
- InternalTypeHelper.cs
- PathData.cs
- ServiceModelConfiguration.cs
- SkipQueryOptionExpression.cs
- PathFigureCollection.cs
- FontSizeConverter.cs
- WebServiceEnumData.cs
- MsmqEncryptionAlgorithm.cs
- ProfilePropertySettingsCollection.cs
- FormatSettings.cs
- CursorConverter.cs
- Matrix.cs
- AdapterUtil.cs
- FigureParagraph.cs
- OleDbErrorCollection.cs
- EntityCommandExecutionException.cs
- HelpEvent.cs
- MergeFailedEvent.cs
- DataSourceHelper.cs
- PackagePart.cs
- XPathBinder.cs
- ImmComposition.cs
- ConnectionManagementElementCollection.cs
- Buffer.cs
- DeclarativeCatalogPart.cs
- HtmlShimManager.cs
- Triplet.cs
- SecureEnvironment.cs
- XmlCompatibilityReader.cs
- NetCodeGroup.cs
- EventlogProvider.cs
- ExtensionElement.cs
- FieldDescriptor.cs
- CryptoStream.cs
- Attributes.cs
- CLSCompliantAttribute.cs
- Interop.cs
- KeyboardEventArgs.cs
- ProfileBuildProvider.cs
- CommandLineParser.cs
- ModelProperty.cs
- ButtonFlatAdapter.cs
- LoginView.cs
- CorePropertiesFilter.cs
- DataListItem.cs
- ActiveXMessageFormatter.cs
- RegexWorker.cs
- ProfileServiceManager.cs
- InvokeMemberBinder.cs
- SqlInternalConnection.cs
- XmlUTF8TextReader.cs
- ExtenderControl.cs
- TransferMode.cs
- SendMailErrorEventArgs.cs
- StringBuilder.cs
- ExtensibleClassFactory.cs
- DataColumnPropertyDescriptor.cs
- ProcessStartInfo.cs
- _Events.cs
- DesignerUtility.cs
- SuppressMergeCheckAttribute.cs
- ProcessStartInfo.cs
- InheritablePropertyChangeInfo.cs
- AlignmentXValidation.cs
- GACMembershipCondition.cs
- ColumnMapTranslator.cs
- TCPListener.cs
- Inline.cs
- Invariant.cs
- SurrogateEncoder.cs
- ThreadNeutralSemaphore.cs
- KnownColorTable.cs
- UnsafeMethods.cs
- filewebrequest.cs
- DataGridViewRowPrePaintEventArgs.cs
- XmlSchemaDocumentation.cs
- DocumentXPathNavigator.cs
- DesignerTextWriter.cs
- StructuralCache.cs
- LoginCancelEventArgs.cs
- RemoteWebConfigurationHost.cs
- ToolStripGrip.cs
- ResourceDisplayNameAttribute.cs
- Style.cs