Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- SQLBoolean.cs
- SafeTokenHandle.cs
- PolicyVersionConverter.cs
- GetPageNumberCompletedEventArgs.cs
- WebPartConnectionsEventArgs.cs
- SharedPersonalizationStateInfo.cs
- DocumentViewer.cs
- DataGridViewTextBoxCell.cs
- Typeface.cs
- WindowsAuthenticationModule.cs
- ServiceCredentialsSecurityTokenManager.cs
- OleDbTransaction.cs
- BitmapInitialize.cs
- InputProcessorProfilesLoader.cs
- SmtpSection.cs
- TimelineClockCollection.cs
- DateTimeFormat.cs
- TransformGroup.cs
- SecurityContextKeyIdentifierClause.cs
- WebPartZone.cs
- InvokeGenerator.cs
- XmlSchemas.cs
- SessionStateItemCollection.cs
- SimpleApplicationHost.cs
- XPathNavigatorReader.cs
- SiteMapProvider.cs
- QilValidationVisitor.cs
- ImageFormatConverter.cs
- ArcSegment.cs
- ApplicationDirectoryMembershipCondition.cs
- HttpDictionary.cs
- RepeaterItem.cs
- StringStorage.cs
- CollectionMarkupSerializer.cs
- DrawingContextDrawingContextWalker.cs
- TargetException.cs
- CustomValidator.cs
- MouseGesture.cs
- SafeFindHandle.cs
- DispatchChannelSink.cs
- VisualTarget.cs
- BitmapInitialize.cs
- RegistryConfigurationProvider.cs
- TextTreeInsertUndoUnit.cs
- QilTargetType.cs
- RemoveStoryboard.cs
- XMLSyntaxException.cs
- OdbcConnectionString.cs
- CustomExpression.cs
- SecurityPolicySection.cs
- DrawListViewItemEventArgs.cs
- DeflateEmulationStream.cs
- DataGridViewTopLeftHeaderCell.cs
- QilDataSource.cs
- MouseEventArgs.cs
- ProfileGroupSettingsCollection.cs
- EventPrivateKey.cs
- AssertUtility.cs
- Quaternion.cs
- RelationshipConverter.cs
- ImageMetadata.cs
- ListItemParagraph.cs
- RegexRunner.cs
- CompositeControlDesigner.cs
- StatusStrip.cs
- ActivityUtilities.cs
- LinqDataSourceDeleteEventArgs.cs
- ColumnClickEvent.cs
- __ConsoleStream.cs
- MD5HashHelper.cs
- ScrollViewerAutomationPeer.cs
- IgnoreSection.cs
- ColorConvertedBitmapExtension.cs
- XslTransformFileEditor.cs
- WindowCollection.cs
- RequestTimeoutManager.cs
- DbConnectionPoolOptions.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- XamlFrame.cs
- DataRowComparer.cs
- DebugController.cs
- NetTcpBinding.cs
- XamlParser.cs
- DurableOperationAttribute.cs
- Compress.cs
- DataGridView.cs
- DiagnosticStrings.cs
- Vector3DAnimationBase.cs
- ProfileEventArgs.cs
- ConfigurationValue.cs
- AppLevelCompilationSectionCache.cs
- MenuItemStyle.cs
- ResourceProviderFactory.cs
- SamlNameIdentifierClaimResource.cs
- ManualResetEvent.cs
- XmlUrlResolver.cs
- ThreadInterruptedException.cs
- StaticFileHandler.cs
- FixedHyperLink.cs
- DecimalConverter.cs