Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Script / Services / RestHandlerFactory.cs / 1305376 / 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
- DocComment.cs
- View.cs
- httpserverutility.cs
- AliasExpr.cs
- PreDigestedSignedInfo.cs
- Brushes.cs
- BitmapData.cs
- PathSegmentCollection.cs
- ConfigurationSectionGroupCollection.cs
- SelectorItemAutomationPeer.cs
- SqlErrorCollection.cs
- PersistenceProviderDirectory.cs
- EntityAdapter.cs
- ParagraphVisual.cs
- Activity.cs
- VoiceSynthesis.cs
- PenThreadPool.cs
- MetaModel.cs
- DataControlLinkButton.cs
- UnsafeNativeMethods.cs
- HasActivatableWorkflowEvent.cs
- XmlBinaryReader.cs
- XPathMultyIterator.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- XamlSerializerUtil.cs
- _BufferOffsetSize.cs
- IndexedEnumerable.cs
- EventProviderWriter.cs
- VScrollBar.cs
- ResourcePermissionBase.cs
- CodeDomDecompiler.cs
- AnimationClock.cs
- FormViewUpdatedEventArgs.cs
- Slider.cs
- ToolStripSeparatorRenderEventArgs.cs
- SimplePropertyEntry.cs
- ClockGroup.cs
- RuntimeConfigurationRecord.cs
- MemberPath.cs
- DbTransaction.cs
- XmlNullResolver.cs
- EnterpriseServicesHelper.cs
- TextParagraphCache.cs
- SignedXml.cs
- NotConverter.cs
- SqlDuplicator.cs
- OneOf.cs
- CharEnumerator.cs
- PLINQETWProvider.cs
- HyperLink.cs
- TemplateBindingExpressionConverter.cs
- ExtendLockAsyncResult.cs
- StagingAreaInputItem.cs
- HtmlInputImage.cs
- CodeArrayIndexerExpression.cs
- ConnectionInterfaceCollection.cs
- SoapTypeAttribute.cs
- ByteStorage.cs
- DataBindingCollection.cs
- XamlPathDataSerializer.cs
- AppPool.cs
- BamlBinaryReader.cs
- SpeakCompletedEventArgs.cs
- SrgsDocumentParser.cs
- XPathDescendantIterator.cs
- StaticContext.cs
- MatrixValueSerializer.cs
- KeyBinding.cs
- Lock.cs
- RangeValuePattern.cs
- BatchServiceHost.cs
- BinaryConverter.cs
- PtsHelper.cs
- ResourceContainer.cs
- Stack.cs
- OleDbRowUpdatingEvent.cs
- ByteBufferPool.cs
- mediaclock.cs
- CombinedGeometry.cs
- FormViewCommandEventArgs.cs
- ToolTipAutomationPeer.cs
- XPathNavigator.cs
- ToolStripStatusLabel.cs
- DataKeyCollection.cs
- VoiceSynthesis.cs
- MessageSecurityOverTcpElement.cs
- FixedSchema.cs
- DataSourceViewSchemaConverter.cs
- IPEndPointCollection.cs
- SymDocumentType.cs
- MessageEncodingBindingElement.cs
- UnhandledExceptionEventArgs.cs
- StyleModeStack.cs
- ThousandthOfEmRealPoints.cs
- TextParentUndoUnit.cs
- PeerApplicationLaunchInfo.cs
- XPathNodeInfoAtom.cs
- ServerValidateEventArgs.cs
- WindowsListViewGroup.cs
- AvTraceFormat.cs