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
- MediaTimeline.cs
- HorizontalAlignConverter.cs
- TypeElementCollection.cs
- HtmlImage.cs
- DoubleConverter.cs
- Socket.cs
- rsa.cs
- PasswordRecovery.cs
- SchemaElementLookUpTable.cs
- Assert.cs
- XmlSerializerSection.cs
- SQLInt64.cs
- HttpListenerRequest.cs
- FixedTextView.cs
- ScriptHandlerFactory.cs
- WindowsUpDown.cs
- wmiprovider.cs
- Boolean.cs
- NTAccount.cs
- PerfCounterSection.cs
- SoapSchemaExporter.cs
- UriTemplateTrieLocation.cs
- Partitioner.cs
- NameSpaceExtractor.cs
- Accessible.cs
- CacheForPrimitiveTypes.cs
- DetailsViewInsertEventArgs.cs
- MediaSystem.cs
- XmlParser.cs
- PenLineJoinValidation.cs
- HuffModule.cs
- RichTextBox.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- Padding.cs
- RegularExpressionValidator.cs
- BitmapEffectCollection.cs
- ApplicationHost.cs
- HideDisabledControlAdapter.cs
- Schema.cs
- HierarchicalDataSourceControl.cs
- ArcSegment.cs
- wgx_exports.cs
- altserialization.cs
- AttributeUsageAttribute.cs
- PeerCollaborationPermission.cs
- connectionpool.cs
- Interlocked.cs
- BamlLocalizableResource.cs
- TokenFactoryBase.cs
- BlockCollection.cs
- MailWebEventProvider.cs
- TextRangeEditTables.cs
- TdsParserSafeHandles.cs
- TemplatedAdorner.cs
- WebConfigurationManager.cs
- Int32CollectionConverter.cs
- Pen.cs
- LinkLabel.cs
- Subtree.cs
- CommandValueSerializer.cs
- _NTAuthentication.cs
- Application.cs
- GridViewDeletedEventArgs.cs
- HtmlDocument.cs
- PropertyChangedEventArgs.cs
- ListViewDeletedEventArgs.cs
- ConfigurationException.cs
- SendKeys.cs
- LinearKeyFrames.cs
- CacheManager.cs
- TypedReference.cs
- RegularExpressionValidator.cs
- AssertFilter.cs
- TraceSection.cs
- AspNetPartialTrustHelpers.cs
- StringCollection.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TreeBuilder.cs
- NavigationExpr.cs
- DataObjectCopyingEventArgs.cs
- MergeEnumerator.cs
- DescendantBaseQuery.cs
- PreProcessInputEventArgs.cs
- IndexExpression.cs
- DoubleLinkListEnumerator.cs
- StatusBarPanel.cs
- FtpCachePolicyElement.cs
- TransactionException.cs
- WebBaseEventKeyComparer.cs
- NamedObject.cs
- DataTablePropertyDescriptor.cs
- EndEvent.cs
- CheckBox.cs
- ToolStripStatusLabel.cs
- RealProxy.cs
- DrawingContextDrawingContextWalker.cs
- CaseInsensitiveHashCodeProvider.cs
- nulltextcontainer.cs
- ParameterCollection.cs
- DataGridAutoGeneratingColumnEventArgs.cs