Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Script / Services / RestHandlerFactory.cs / 1305376 / 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
- TokenBasedSet.cs
- PathTooLongException.cs
- HtmlInputReset.cs
- DataGridViewHitTestInfo.cs
- WebPartConnectionCollection.cs
- Signature.cs
- GenericUI.cs
- FontResourceCache.cs
- GregorianCalendarHelper.cs
- PartEditor.cs
- SecurityTokenAttachmentMode.cs
- EngineSiteSapi.cs
- LinqDataSourceEditData.cs
- DataGridViewCellFormattingEventArgs.cs
- DistinctQueryOperator.cs
- GenericUriParser.cs
- PropertyEmitter.cs
- PriorityQueue.cs
- CompositeFontParser.cs
- COM2IPerPropertyBrowsingHandler.cs
- IsolatedStorageFileStream.cs
- CodeDelegateInvokeExpression.cs
- CryptoHelper.cs
- processwaithandle.cs
- ConnectionPoint.cs
- XPathDocumentNavigator.cs
- CodeEventReferenceExpression.cs
- WebService.cs
- Stroke.cs
- EntityViewGenerator.cs
- x509utils.cs
- BorderGapMaskConverter.cs
- UserUseLicenseDictionaryLoader.cs
- AutomationEvent.cs
- FloaterParaClient.cs
- ACE.cs
- NavigationPropertyEmitter.cs
- EqualityComparer.cs
- XmlDataDocument.cs
- TemplateBuilder.cs
- RuleDefinitions.cs
- WindowsFormsHelpers.cs
- HttpNamespaceReservationInstallComponent.cs
- QueryStringConverter.cs
- TransformerConfigurationWizardBase.cs
- mediapermission.cs
- MetadataCache.cs
- PathData.cs
- ReversePositionQuery.cs
- HtmlButton.cs
- TraceContextEventArgs.cs
- TypeConverterAttribute.cs
- CodeGenerator.cs
- StateValidator.cs
- XmlWriter.cs
- ImageButton.cs
- CharEnumerator.cs
- MenuItemStyleCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- OdbcUtils.cs
- AppDomainEvidenceFactory.cs
- ProfileManager.cs
- CapabilitiesRule.cs
- InlineObject.cs
- GridEntry.cs
- XappLauncher.cs
- Attachment.cs
- InputLanguageCollection.cs
- MultiAsyncResult.cs
- FormViewInsertedEventArgs.cs
- SoundPlayerAction.cs
- DataGridViewCellEventArgs.cs
- ListControlStringCollectionEditor.cs
- BaseDataListDesigner.cs
- UInt16Converter.cs
- handlecollector.cs
- PageCache.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- Int16KeyFrameCollection.cs
- Logging.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- PeerPresenceInfo.cs
- DocumentScope.cs
- TextFormatter.cs
- FrameDimension.cs
- FactoryGenerator.cs
- PairComparer.cs
- DesignRelationCollection.cs
- XmlSerializerSection.cs
- VirtualizingPanel.cs
- DbProviderFactory.cs
- EdmScalarPropertyAttribute.cs
- SmtpException.cs
- InvalidPrinterException.cs
- TreeView.cs
- __Filters.cs
- TextReader.cs
- ResizeGrip.cs
- CodeParameterDeclarationExpression.cs
- SqlRecordBuffer.cs