Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FunctionDetailsReader.cs
- PhoneCallDesigner.cs
- _DigestClient.cs
- NetworkInformationPermission.cs
- SyndicationDeserializer.cs
- DrawItemEvent.cs
- ScriptIgnoreAttribute.cs
- SystemInformation.cs
- SchemaConstraints.cs
- BamlBinaryReader.cs
- VSWCFServiceContractGenerator.cs
- Color.cs
- TextWriter.cs
- DataGridCell.cs
- ExceptionRoutedEventArgs.cs
- SafeHandles.cs
- FunctionOverloadResolver.cs
- GlobalProxySelection.cs
- VoiceInfo.cs
- QuaternionKeyFrameCollection.cs
- SeparatorAutomationPeer.cs
- PropertyOrder.cs
- CompareInfo.cs
- ZipIOLocalFileDataDescriptor.cs
- JournalEntry.cs
- AggregateException.cs
- ContextDataSource.cs
- AxImporter.cs
- DbXmlEnabledProviderManifest.cs
- securitycriticaldataClass.cs
- _IPv4Address.cs
- IPAddressCollection.cs
- TypedRowHandler.cs
- Style.cs
- ExtendedPropertyDescriptor.cs
- CompressedStack.cs
- ArrangedElement.cs
- Int64.cs
- RawAppCommandInputReport.cs
- Calendar.cs
- DbMetaDataColumnNames.cs
- WsdlBuildProvider.cs
- ConnectionPointCookie.cs
- ConnectionConsumerAttribute.cs
- ZipArchive.cs
- SortFieldComparer.cs
- MenuItemBinding.cs
- Types.cs
- StringPropertyBuilder.cs
- MethodInfo.cs
- HexParser.cs
- TrackingMemoryStreamFactory.cs
- WMIInterop.cs
- ListViewHitTestInfo.cs
- TypeInformation.cs
- TiffBitmapEncoder.cs
- ListView.cs
- RightsManagementManager.cs
- LineMetrics.cs
- DBSqlParserTable.cs
- TextBox.cs
- Vector3DAnimation.cs
- WebPartHelpVerb.cs
- TileModeValidation.cs
- XmlReaderSettings.cs
- ResourceReferenceExpressionConverter.cs
- SpellerInterop.cs
- Italic.cs
- SystemIPInterfaceStatistics.cs
- HostSecurityManager.cs
- FormsIdentity.cs
- Dump.cs
- WebServiceBindingAttribute.cs
- SafeLibraryHandle.cs
- PropertyPathConverter.cs
- CharConverter.cs
- StaticExtensionConverter.cs
- BrowserCapabilitiesCodeGenerator.cs
- JsonGlobals.cs
- HtmlLink.cs
- MethodRental.cs
- TypeSystemProvider.cs
- NameValuePair.cs
- ReturnValue.cs
- ToolBarOverflowPanel.cs
- Validator.cs
- ExpressionBindingCollection.cs
- HtmlListAdapter.cs
- DataControlFieldCollection.cs
- BindingGraph.cs
- DataGridViewUtilities.cs
- InteropAutomationProvider.cs
- DescriptionCreator.cs
- OneToOneMappingSerializer.cs
- ToolStripDropDownButton.cs
- Pair.cs
- IISMapPath.cs
- DataContractSerializerSection.cs
- ValidationPropertyAttribute.cs
- SchemaName.cs