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
- LogFlushAsyncResult.cs
- PageSettings.cs
- RetrieveVirtualItemEventArgs.cs
- LocalizabilityAttribute.cs
- GridItemPattern.cs
- SqlNodeAnnotations.cs
- CodeLabeledStatement.cs
- SystemNetHelpers.cs
- BindingWorker.cs
- DataSourceXmlSerializationAttribute.cs
- ControlBuilder.cs
- FrameworkElementFactory.cs
- SqlProviderUtilities.cs
- Animatable.cs
- Directory.cs
- StyleReferenceConverter.cs
- InternalSafeNativeMethods.cs
- FacetDescription.cs
- BookmarkCallbackWrapper.cs
- SimpleWebHandlerParser.cs
- PropertyEmitter.cs
- TraceListeners.cs
- SerializationTrace.cs
- ProxyHelper.cs
- Parser.cs
- WebBrowserNavigatedEventHandler.cs
- PeerName.cs
- WindowsListViewSubItem.cs
- Pair.cs
- XmlBoundElement.cs
- UidManager.cs
- FileRecordSequenceCompletedAsyncResult.cs
- DataControlHelper.cs
- EditorZoneBase.cs
- CompilerGlobalScopeAttribute.cs
- IIS7UserPrincipal.cs
- DBConnectionString.cs
- RawAppCommandInputReport.cs
- HandlerMappingMemo.cs
- XmlSchemaValidationException.cs
- DriveNotFoundException.cs
- DateTimeFormatInfo.cs
- LoginName.cs
- ApplicationProxyInternal.cs
- Privilege.cs
- CleanUpVirtualizedItemEventArgs.cs
- DecoratedNameAttribute.cs
- DomainConstraint.cs
- CommandManager.cs
- designeractionbehavior.cs
- XmlFormatExtensionAttribute.cs
- ProfileGroupSettings.cs
- ErrorItem.cs
- DataListItem.cs
- ListBoxItemAutomationPeer.cs
- DataPagerCommandEventArgs.cs
- BitmapEffectRenderDataResource.cs
- HighlightComponent.cs
- MruCache.cs
- PolicyManager.cs
- RadioButton.cs
- ScrollBar.cs
- XslVisitor.cs
- TypedElement.cs
- BindableTemplateBuilder.cs
- XmlMtomReader.cs
- SiteMapDataSourceDesigner.cs
- UnaryOperationBinder.cs
- DataObjectMethodAttribute.cs
- XPathSingletonIterator.cs
- TransactedBatchContext.cs
- HostedElements.cs
- FontFamilyConverter.cs
- XmlProcessingInstruction.cs
- sqlmetadatafactory.cs
- WebDisplayNameAttribute.cs
- OdbcConnectionHandle.cs
- DesignTimeTemplateParser.cs
- SingleAnimationUsingKeyFrames.cs
- SqlRemoveConstantOrderBy.cs
- CorruptingExceptionCommon.cs
- CheckBoxRenderer.cs
- EmptyControlCollection.cs
- RegexCaptureCollection.cs
- HttpCachePolicyElement.cs
- TextTreeTextNode.cs
- LedgerEntryCollection.cs
- COM2Properties.cs
- TCPListener.cs
- RuntimeEnvironment.cs
- AbstractSvcMapFileLoader.cs
- CalendarAutoFormat.cs
- FixedSOMLineRanges.cs
- ZipIOBlockManager.cs
- PageSetupDialog.cs
- HotSpotCollection.cs
- FixedTextBuilder.cs
- ManipulationPivot.cs
- StaticSiteMapProvider.cs
- PersonalizablePropertyEntry.cs