Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NotificationContext.cs
- CanonicalFormWriter.cs
- HttpHandlerAction.cs
- ComponentEvent.cs
- CookieProtection.cs
- Msec.cs
- UrlMappingsModule.cs
- IdleTimeoutMonitor.cs
- ContractComponent.cs
- SystemPens.cs
- PeerInputChannel.cs
- UnicodeEncoding.cs
- StylusPointProperty.cs
- PolicyException.cs
- CompilerErrorCollection.cs
- OdbcHandle.cs
- EdmComplexPropertyAttribute.cs
- Header.cs
- PersonalizationProvider.cs
- CheckBoxStandardAdapter.cs
- WhitespaceRuleLookup.cs
- WindowPattern.cs
- DoubleCollectionValueSerializer.cs
- HostingEnvironment.cs
- MessageHeader.cs
- OleDbMetaDataFactory.cs
- BmpBitmapEncoder.cs
- TagNameToTypeMapper.cs
- TextServicesManager.cs
- ClientType.cs
- versioninfo.cs
- GroupItem.cs
- WebCategoryAttribute.cs
- StringConcat.cs
- DirectoryObjectSecurity.cs
- Pen.cs
- EventRouteFactory.cs
- DataSourceHelper.cs
- ExpressionEditorSheet.cs
- MediaElement.cs
- ConsoleCancelEventArgs.cs
- Registry.cs
- PkcsUtils.cs
- PointConverter.cs
- LoadedOrUnloadedOperation.cs
- FusionWrap.cs
- TerminatorSinks.cs
- AssemblyCache.cs
- RequestContext.cs
- MultilineStringConverter.cs
- AccessibilityHelperForXpWin2k3.cs
- EdmItemCollection.cs
- ThreadExceptionDialog.cs
- VoiceObjectToken.cs
- BufferModesCollection.cs
- WsdlInspector.cs
- Lease.cs
- CreateParams.cs
- EndOfStreamException.cs
- DynamicEndpoint.cs
- EditBehavior.cs
- PolicyUtility.cs
- _Rfc2616CacheValidators.cs
- TemplateLookupAction.cs
- Interfaces.cs
- ThousandthOfEmRealPoints.cs
- SqlDependencyUtils.cs
- ConversionValidationRule.cs
- ItemCollection.cs
- ClaimComparer.cs
- HtmlHead.cs
- Animatable.cs
- MultiView.cs
- IteratorDescriptor.cs
- Completion.cs
- ContractMethodInfo.cs
- ToolBarButtonClickEvent.cs
- SQLSingleStorage.cs
- OptimalTextSource.cs
- propertytag.cs
- VideoDrawing.cs
- GridEntryCollection.cs
- SchemaElementDecl.cs
- RightNameExpirationInfoPair.cs
- StorageTypeMapping.cs
- RuntimeEnvironment.cs
- ContentPlaceHolder.cs
- GeometryGroup.cs
- HyperLinkField.cs
- SqlTypesSchemaImporter.cs
- SafeCryptoKeyHandle.cs
- AnnotationDocumentPaginator.cs
- ClientTargetCollection.cs
- Tokenizer.cs
- PolicyChain.cs
- RequestNavigateEventArgs.cs
- GroupBox.cs
- EntityTypeEmitter.cs
- TextComposition.cs
- DataGridViewCellStyleConverter.cs