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
- PenCursorManager.cs
- LocalizableAttribute.cs
- IncrementalHitTester.cs
- AuthenticationModulesSection.cs
- EraserBehavior.cs
- AutomationEventArgs.cs
- Point.cs
- Token.cs
- TextParagraph.cs
- EntityDataSourceSelectedEventArgs.cs
- PolicyUnit.cs
- Border.cs
- VScrollBar.cs
- DateRangeEvent.cs
- GroupBoxAutomationPeer.cs
- SqlXmlStorage.cs
- FixedPageAutomationPeer.cs
- StrongNameUtility.cs
- SortableBindingList.cs
- CatalogPartChrome.cs
- DynamicPropertyHolder.cs
- LookupNode.cs
- TreeNodeStyleCollection.cs
- AutomationEventArgs.cs
- ArgumentOutOfRangeException.cs
- PropertyBuilder.cs
- HotCommands.cs
- PowerModeChangedEventArgs.cs
- DataGridViewCellValidatingEventArgs.cs
- XmlSchemaAll.cs
- ResourceType.cs
- CodeCatchClauseCollection.cs
- ServiceHttpModule.cs
- CodeSpit.cs
- GreenMethods.cs
- MissingManifestResourceException.cs
- SqlConnectionStringBuilder.cs
- DataColumnCollection.cs
- HyperLinkStyle.cs
- LogEntryHeaderSerializer.cs
- XmlWellformedWriterHelpers.cs
- Color.cs
- Camera.cs
- XmlNamespaceMappingCollection.cs
- AttributeData.cs
- CacheMode.cs
- DesignColumn.cs
- SubqueryRules.cs
- LoginView.cs
- AssemblyAssociatedContentFileAttribute.cs
- DbConnectionPoolOptions.cs
- Brush.cs
- ToolStripPanelRenderEventArgs.cs
- _UncName.cs
- _TransmitFileOverlappedAsyncResult.cs
- DataObjectCopyingEventArgs.cs
- AutoGeneratedField.cs
- IndexOutOfRangeException.cs
- Geometry.cs
- XmlQualifiedName.cs
- Select.cs
- HandleCollector.cs
- TableItemPattern.cs
- AsymmetricKeyExchangeFormatter.cs
- Validator.cs
- TraceContextEventArgs.cs
- HashSet.cs
- SourceItem.cs
- RequiredAttributeAttribute.cs
- IDQuery.cs
- ColumnResizeUndoUnit.cs
- XmlAtomicValue.cs
- Positioning.cs
- UserPreferenceChangedEventArgs.cs
- BookmarkManager.cs
- UpWmlMobileTextWriter.cs
- ClusterSafeNativeMethods.cs
- RecommendedAsConfigurableAttribute.cs
- ProgressBar.cs
- MemberJoinTreeNode.cs
- GridProviderWrapper.cs
- FormViewCommandEventArgs.cs
- DataGridViewLinkColumn.cs
- DecoderFallback.cs
- HttpCookie.cs
- WebService.cs
- IBuiltInEvidence.cs
- RefType.cs
- MessageUtil.cs
- ProjectedSlot.cs
- ListViewAutomationPeer.cs
- SEHException.cs
- ColumnResizeAdorner.cs
- SequenceRangeCollection.cs
- elementinformation.cs
- WebControlsSection.cs
- EntityParameterCollection.cs
- CryptoConfig.cs
- ResizeGrip.cs
- LogStore.cs