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
- MessageBox.cs
- Propagator.Evaluator.cs
- CodeTypeReferenceCollection.cs
- ElementProxy.cs
- ValidatorCollection.cs
- LayoutInformation.cs
- BinHexEncoding.cs
- Typeface.cs
- SimpleWebHandlerParser.cs
- SafeCryptHandles.cs
- SafeSecurityHelper.cs
- OleDbRowUpdatedEvent.cs
- MulticastDelegate.cs
- XmlNodeChangedEventManager.cs
- GridPattern.cs
- EntityDataSourceUtil.cs
- BindingNavigator.cs
- GridItemProviderWrapper.cs
- ChangePasswordAutoFormat.cs
- ErrorWrapper.cs
- ToolboxItemCollection.cs
- Wizard.cs
- HtmlHead.cs
- Literal.cs
- PropertyTab.cs
- TypeElementCollection.cs
- StyleReferenceConverter.cs
- WebResourceAttribute.cs
- RequestTimeoutManager.cs
- ControlPropertyNameConverter.cs
- StandardBindingElement.cs
- ACE.cs
- OSFeature.cs
- CharKeyFrameCollection.cs
- FlatButtonAppearance.cs
- ResourceDisplayNameAttribute.cs
- PerfService.cs
- HtmlTableCell.cs
- XsltInput.cs
- EllipticalNodeOperations.cs
- HttpListenerTimeoutManager.cs
- CultureInfo.cs
- ButtonBaseAutomationPeer.cs
- Pair.cs
- RichTextBox.cs
- HighlightVisual.cs
- DataSourceHelper.cs
- NetCodeGroup.cs
- ADMembershipProvider.cs
- NameScope.cs
- PathFigureCollectionValueSerializer.cs
- Matrix3DValueSerializer.cs
- OutputCacheModule.cs
- ContentPosition.cs
- SHA1Managed.cs
- SqlInternalConnection.cs
- ConvertEvent.cs
- StringWriter.cs
- WorkflowViewService.cs
- CodeNamespaceImport.cs
- TraceHelpers.cs
- DrawingImage.cs
- DataBinder.cs
- IncomingWebRequestContext.cs
- TcpTransportElement.cs
- MemberInitExpression.cs
- Suspend.cs
- SchemaNotation.cs
- DbConvert.cs
- ColumnMapCopier.cs
- SubMenuStyleCollectionEditor.cs
- Animatable.cs
- DeleteBookmarkScope.cs
- DesignerLoader.cs
- DataObjectCopyingEventArgs.cs
- DataServiceClientException.cs
- DataTrigger.cs
- Trigger.cs
- CompatibleIComparer.cs
- ReadOnlyCollection.cs
- ObfuscateAssemblyAttribute.cs
- SqlFileStream.cs
- ScopedKnownTypes.cs
- BrowserDefinitionCollection.cs
- PerformanceCounterManager.cs
- WebPartUtil.cs
- StyleSheetDesigner.cs
- CancelEventArgs.cs
- GlobalItem.cs
- ColumnMapCopier.cs
- TextElementAutomationPeer.cs
- LocalBuilder.cs
- PropertyStore.cs
- ComponentResourceKey.cs
- AsmxEndpointPickerExtension.cs
- PersistChildrenAttribute.cs
- ByteStack.cs
- BindStream.cs
- XmlSchemaComplexType.cs
- HitTestParameters.cs