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
- GridItemCollection.cs
- OlePropertyStructs.cs
- ReaderWriterLock.cs
- InternalCache.cs
- SoapConverter.cs
- UInt32Storage.cs
- QueryPageSettingsEventArgs.cs
- CustomBinding.cs
- DecimalAnimation.cs
- TextEmbeddedObject.cs
- Certificate.cs
- KnownTypesProvider.cs
- ImageButton.cs
- ConnectionStringsExpressionEditor.cs
- figurelengthconverter.cs
- SystemUnicastIPAddressInformation.cs
- Error.cs
- SmtpReplyReader.cs
- ParameterReplacerVisitor.cs
- RouteValueExpressionBuilder.cs
- CodeIdentifier.cs
- CheckedListBox.cs
- HyperlinkAutomationPeer.cs
- ToolBar.cs
- DesignerActionService.cs
- OleDbException.cs
- PropertyKey.cs
- LightweightCodeGenerator.cs
- SqlMethodTransformer.cs
- ArrayList.cs
- EmptyEnumerator.cs
- StateManagedCollection.cs
- SqlInfoMessageEvent.cs
- CollectionChangeEventArgs.cs
- PackagePart.cs
- UIElementHelper.cs
- VideoDrawing.cs
- PermissionRequestEvidence.cs
- XmlAtomicValue.cs
- RuleSettingsCollection.cs
- SupportsEventValidationAttribute.cs
- ServiceMetadataBehavior.cs
- TimestampInformation.cs
- DynamicMetaObjectBinder.cs
- BufferBuilder.cs
- SQLSingle.cs
- MembershipPasswordException.cs
- ObjectContext.cs
- DataGridTableCollection.cs
- Constraint.cs
- Grammar.cs
- ListViewGroup.cs
- ProfileSection.cs
- AttachedAnnotation.cs
- TypedReference.cs
- TypeSemantics.cs
- NativeMethods.cs
- DataGridViewCell.cs
- ExpressionBuilderContext.cs
- XPathAncestorIterator.cs
- FormsAuthenticationTicket.cs
- ToolStripItemTextRenderEventArgs.cs
- SendKeys.cs
- DataGridViewRowPostPaintEventArgs.cs
- ParameterModifier.cs
- XMLSchema.cs
- AttachedAnnotation.cs
- ItemCollection.cs
- XmlNodeReader.cs
- UnsafeNativeMethodsPenimc.cs
- PixelFormat.cs
- XsltQilFactory.cs
- MenuItem.cs
- IPCCacheManager.cs
- EntityClientCacheEntry.cs
- TagPrefixAttribute.cs
- OuterGlowBitmapEffect.cs
- WebPartConnectionsCloseVerb.cs
- WebZone.cs
- WebMessageEncodingElement.cs
- NotifyParentPropertyAttribute.cs
- Input.cs
- Label.cs
- TypeDescriptor.cs
- SubpageParaClient.cs
- ListComponentEditor.cs
- FreeIndexList.cs
- ToolboxItemSnapLineBehavior.cs
- SerializationFieldInfo.cs
- OdbcDataReader.cs
- CacheModeConverter.cs
- Assert.cs
- RbTree.cs
- ByteConverter.cs
- ByteAnimationUsingKeyFrames.cs
- VideoDrawing.cs
- _TLSstream.cs
- SystemTcpStatistics.cs
- SvcMapFileLoader.cs
- Win32Exception.cs