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
- ExceptionRoutedEventArgs.cs
- XmlDataSourceDesigner.cs
- MailWriter.cs
- MissingMemberException.cs
- LazyLoadBehavior.cs
- EntityTransaction.cs
- CustomLineCap.cs
- IndexedGlyphRun.cs
- EditingMode.cs
- XmlJsonReader.cs
- FontDriver.cs
- PolygonHotSpot.cs
- URI.cs
- TypeDescriptionProviderAttribute.cs
- UserMapPath.cs
- _emptywebproxy.cs
- Trigger.cs
- ClientApiGenerator.cs
- ProgressBarBrushConverter.cs
- HttpWriter.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- Identity.cs
- FontConverter.cs
- ResourceCollectionInfo.cs
- RangeValidator.cs
- ImageConverter.cs
- SecurityTokenParameters.cs
- IEnumerable.cs
- AsyncPostBackErrorEventArgs.cs
- AudioLevelUpdatedEventArgs.cs
- KoreanLunisolarCalendar.cs
- NativeMethods.cs
- SecurityException.cs
- SecurityChannelFaultConverter.cs
- PerspectiveCamera.cs
- LookupBindingPropertiesAttribute.cs
- PowerModeChangedEventArgs.cs
- SqlDataSourceQuery.cs
- ShellProvider.cs
- CodeStatementCollection.cs
- InitializationEventAttribute.cs
- BitmapImage.cs
- ResourceAssociationTypeEnd.cs
- ClientOptions.cs
- ProviderException.cs
- BuildProvider.cs
- Exception.cs
- DoubleAnimationClockResource.cs
- SynchronizationFilter.cs
- DelegateArgumentReference.cs
- WCFModelStrings.Designer.cs
- ArgIterator.cs
- Columns.cs
- SqlDataSourceSelectingEventArgs.cs
- VisualStyleElement.cs
- RowToFieldTransformer.cs
- Path.cs
- HttpListenerElement.cs
- LogLogRecord.cs
- ControlPropertyNameConverter.cs
- x509utils.cs
- Baml6Assembly.cs
- Pen.cs
- SystemGatewayIPAddressInformation.cs
- SafeSecurityHelper.cs
- PrivilegeNotHeldException.cs
- CodeAttributeDeclaration.cs
- DoubleConverter.cs
- BatchParser.cs
- SizeChangedEventArgs.cs
- QuestionEventArgs.cs
- DbParameterCollectionHelper.cs
- SqlGenerator.cs
- Literal.cs
- DataGridViewColumnHeaderCell.cs
- UnsafeNativeMethods.cs
- RuntimeResourceSet.cs
- HtmlElementCollection.cs
- TrayIconDesigner.cs
- CommentEmitter.cs
- ListViewItem.cs
- ReachVisualSerializerAsync.cs
- RepeaterItemEventArgs.cs
- XmlReaderSettings.cs
- TextTrailingCharacterEllipsis.cs
- SmtpSection.cs
- EditingCoordinator.cs
- DocumentOutline.cs
- MobileCapabilities.cs
- AlternateView.cs
- WindowsRegion.cs
- ColumnBinding.cs
- InsufficientMemoryException.cs
- MD5CryptoServiceProvider.cs
- TreeNodeStyleCollection.cs
- HelpKeywordAttribute.cs
- FixedSOMTableRow.cs
- ResXBuildProvider.cs
- SiteIdentityPermission.cs
- MruCache.cs