Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WaitHandle.cs
- ObjectDataSourceFilteringEventArgs.cs
- GenericUriParser.cs
- FixedPageProcessor.cs
- ControlCachePolicy.cs
- WSDualHttpSecurity.cs
- PerfCounters.cs
- StackBuilderSink.cs
- PartitionerQueryOperator.cs
- EventSchemaTraceListener.cs
- WebErrorHandler.cs
- HttpCacheVaryByContentEncodings.cs
- IsolatedStorageFilePermission.cs
- FileAccessException.cs
- SchemaNotation.cs
- ClientType.cs
- InputLanguageCollection.cs
- LastQueryOperator.cs
- BaseUriHelper.cs
- arc.cs
- UrlRoutingHandler.cs
- CodeArrayIndexerExpression.cs
- _NegoStream.cs
- FixUpCollection.cs
- XmlException.cs
- ExpressionReplacer.cs
- PenThread.cs
- TraceSection.cs
- SatelliteContractVersionAttribute.cs
- FullTrustAssemblyCollection.cs
- WasHttpModulesInstallComponent.cs
- SelectionPatternIdentifiers.cs
- XmlSchemaObjectCollection.cs
- ClientSponsor.cs
- DeploymentSection.cs
- ModelProperty.cs
- PageThemeBuildProvider.cs
- SerializationEventsCache.cs
- CodeCompiler.cs
- WebPartCloseVerb.cs
- TypeToken.cs
- ISAPIWorkerRequest.cs
- PageWrapper.cs
- AssemblyGen.cs
- CodeEntryPointMethod.cs
- elementinformation.cs
- DataGridViewTopLeftHeaderCell.cs
- WsdlEndpointConversionContext.cs
- WebMessageEncodingElement.cs
- TypeBuilder.cs
- Visual.cs
- ProfileProvider.cs
- _SecureChannel.cs
- RewritingValidator.cs
- TraceHandlerErrorFormatter.cs
- StringFreezingAttribute.cs
- FormViewDeletedEventArgs.cs
- MergeFailedEvent.cs
- DateTimeFormatInfo.cs
- _HeaderInfo.cs
- SpeechRecognizer.cs
- MDIClient.cs
- DetailsViewRowCollection.cs
- processwaithandle.cs
- RenameRuleObjectDialog.Designer.cs
- TrailingSpaceComparer.cs
- DeferredReference.cs
- BamlLocalizabilityResolver.cs
- MediaPlayerState.cs
- ObjectView.cs
- SafeWaitHandle.cs
- HttpCacheParams.cs
- XmlMtomReader.cs
- DataChangedEventManager.cs
- AssemblyNameProxy.cs
- Crc32.cs
- GridViewRowEventArgs.cs
- TypeGeneratedEventArgs.cs
- NamespaceInfo.cs
- MemberNameValidator.cs
- SharedDp.cs
- ObjectTypeMapping.cs
- TemplateControlCodeDomTreeGenerator.cs
- nulltextnavigator.cs
- ColumnResult.cs
- MobileControlBuilder.cs
- ControlIdConverter.cs
- SerialPort.cs
- TypeUtil.cs
- XmlSchemaChoice.cs
- InputLanguageSource.cs
- DockEditor.cs
- EntityDesignerBuildProvider.cs
- SchemaMapping.cs
- SpellCheck.cs
- ResetableIterator.cs
- FontStretches.cs
- And.cs
- App.cs
- DataGridViewAccessibleObject.cs