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
- MulticastDelegate.cs
- MimeMapping.cs
- ReaderWriterLockSlim.cs
- XamlTreeBuilderBamlRecordWriter.cs
- TextStore.cs
- KeyConstraint.cs
- ConnectionManagementElement.cs
- FilteredDataSetHelper.cs
- Column.cs
- StatusBarPanelClickEvent.cs
- WindowsSecurityToken.cs
- HtmlEmptyTagControlBuilder.cs
- IgnoreFileBuildProvider.cs
- VerificationAttribute.cs
- ListViewItemCollectionEditor.cs
- BulletedList.cs
- WebPartConnectionsCancelEventArgs.cs
- DbException.cs
- TemplatePropertyEntry.cs
- MulticastNotSupportedException.cs
- CaseKeyBox.xaml.cs
- PagerSettings.cs
- ExtenderProvidedPropertyAttribute.cs
- SerializationInfoEnumerator.cs
- GlyphTypeface.cs
- recordstate.cs
- WizardSideBarListControlItemEventArgs.cs
- CallTemplateAction.cs
- HwndMouseInputProvider.cs
- UIElement.cs
- WebUtil.cs
- DesignTimeVisibleAttribute.cs
- MethodToken.cs
- BindingGroup.cs
- ExceptionUtil.cs
- DataGridViewColumnStateChangedEventArgs.cs
- Thread.cs
- DateTimeValueSerializerContext.cs
- MenuItem.cs
- OutputCacheSettings.cs
- WebEventCodes.cs
- xamlnodes.cs
- webclient.cs
- XmlnsCache.cs
- DataServiceEntityAttribute.cs
- InstanceValue.cs
- IRCollection.cs
- SchemaEntity.cs
- TextTreeInsertUndoUnit.cs
- Polygon.cs
- CacheSection.cs
- PasswordDeriveBytes.cs
- Vector3DCollectionConverter.cs
- DataList.cs
- PeerContact.cs
- StylusCollection.cs
- AssemblyName.cs
- RepeatInfo.cs
- ZoneMembershipCondition.cs
- XmlnsCompatibleWithAttribute.cs
- AccessKeyManager.cs
- BlobPersonalizationState.cs
- XmlHierarchicalEnumerable.cs
- MDIControlStrip.cs
- SafeThemeHandle.cs
- Tuple.cs
- CapabilitiesSection.cs
- SingleConverter.cs
- SamlAuthorizationDecisionStatement.cs
- PropertyMapper.cs
- XmlQualifiedName.cs
- AssemblyHelper.cs
- DetailsView.cs
- WebPartConnectionsConfigureVerb.cs
- StronglyTypedResourceBuilder.cs
- FontNameConverter.cs
- InvalidDataContractException.cs
- Registry.cs
- smtppermission.cs
- Scripts.cs
- IIS7WorkerRequest.cs
- PointLightBase.cs
- Variant.cs
- ObjectItemCachedAssemblyLoader.cs
- linebase.cs
- CodeCompileUnit.cs
- AsyncResult.cs
- basevalidator.cs
- XmlSchemaSimpleType.cs
- ToolTip.cs
- CodeIdentifier.cs
- Expression.cs
- ExpressionConverter.cs
- ISO2022Encoding.cs
- Line.cs
- ExpressionPrefixAttribute.cs
- OracleRowUpdatedEventArgs.cs
- XmlTextReaderImpl.cs
- RangeBaseAutomationPeer.cs
- ConstraintManager.cs