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
- ISAPIRuntime.cs
- JapaneseCalendar.cs
- dtdvalidator.cs
- ParameterBuilder.cs
- MetadataCollection.cs
- InvokePattern.cs
- SizeValueSerializer.cs
- CodeDomConfigurationHandler.cs
- QueueTransferProtocol.cs
- FamilyMapCollection.cs
- ElementNotEnabledException.cs
- MediaTimeline.cs
- WindowsToolbarItemAsMenuItem.cs
- RIPEMD160Managed.cs
- ConnectionInterfaceCollection.cs
- QueuePathDialog.cs
- _HeaderInfo.cs
- ArithmeticLiteral.cs
- XPathPatternParser.cs
- SmtpDigestAuthenticationModule.cs
- Point3DCollection.cs
- HiddenField.cs
- DataError.cs
- WebPartTransformerAttribute.cs
- EdmConstants.cs
- AsymmetricAlgorithm.cs
- GlobalProxySelection.cs
- XmlILModule.cs
- ToolBarButtonClickEvent.cs
- PathSegmentCollection.cs
- HandlerFactoryCache.cs
- ZipIOCentralDirectoryFileHeader.cs
- RadioButton.cs
- OutputCacheSettingsSection.cs
- ScaleTransform.cs
- DataGrid.cs
- AdCreatedEventArgs.cs
- Rotation3D.cs
- DataKeyArray.cs
- ArraySegment.cs
- CodeEventReferenceExpression.cs
- RegexReplacement.cs
- ValidationEventArgs.cs
- ValuePatternIdentifiers.cs
- InputQueue.cs
- LogLogRecordEnumerator.cs
- ModuleBuilder.cs
- CompilationLock.cs
- SoapIncludeAttribute.cs
- ItemsPanelTemplate.cs
- QilInvoke.cs
- Metafile.cs
- CheckBoxFlatAdapter.cs
- TextDecoration.cs
- PrimitiveType.cs
- PointLightBase.cs
- XmlValidatingReader.cs
- OSFeature.cs
- SqlDataSourceStatusEventArgs.cs
- FormViewModeEventArgs.cs
- ColumnWidthChangedEvent.cs
- BuildManagerHost.cs
- CounterCreationDataConverter.cs
- MimeFormReflector.cs
- XmlSchemaAttributeGroupRef.cs
- ScaleTransform3D.cs
- ControlPropertyNameConverter.cs
- ConsumerConnectionPoint.cs
- Repeater.cs
- DbRetry.cs
- HttpListenerException.cs
- ContainerParaClient.cs
- ProcessModule.cs
- HttpResponseInternalBase.cs
- FormViewInsertedEventArgs.cs
- TypeUnloadedException.cs
- MetaModel.cs
- DataGridViewRowHeaderCell.cs
- HttpRuntimeSection.cs
- SemanticKeyElement.cs
- SourceItem.cs
- HtmlImage.cs
- VoiceInfo.cs
- BroadcastEventHelper.cs
- TraceInternal.cs
- PackageRelationshipCollection.cs
- SafeRightsManagementQueryHandle.cs
- SortDescriptionCollection.cs
- ArgumentException.cs
- GuidelineSet.cs
- SafeThemeHandle.cs
- Rotation3D.cs
- TargetControlTypeAttribute.cs
- ResourceAssociationTypeEnd.cs
- SimpleRecyclingCache.cs
- ClusterRegistryConfigurationProvider.cs
- ThaiBuddhistCalendar.cs
- KeyFrames.cs
- GridViewColumnHeader.cs
- DataServiceHost.cs