Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ContainerUtilities.cs
- ButtonChrome.cs
- DesignerProperties.cs
- NameValueCollection.cs
- PropertySet.cs
- SqlServer2KCompatibilityAnnotation.cs
- SQLInt32Storage.cs
- WebPartExportVerb.cs
- DesignSurfaceManager.cs
- RequestQueue.cs
- XmlAttributes.cs
- QuestionEventArgs.cs
- TraceLog.cs
- AdornedElementPlaceholder.cs
- streamingZipPartStream.cs
- DuplicateDetector.cs
- odbcmetadatafactory.cs
- IBuiltInEvidence.cs
- TextProperties.cs
- HTMLTagNameToTypeMapper.cs
- InputScope.cs
- TreeNodeCollectionEditorDialog.cs
- UnauthorizedAccessException.cs
- ToolStripMenuItem.cs
- DbConnectionPoolIdentity.cs
- UnmanagedHandle.cs
- CallbackCorrelationInitializer.cs
- Assembly.cs
- DbExpressionVisitor_TResultType.cs
- StructuredTypeInfo.cs
- ObjectParameterCollection.cs
- PromptStyle.cs
- TreeView.cs
- DragCompletedEventArgs.cs
- EventBuilder.cs
- ValueTypeFixupInfo.cs
- KoreanLunisolarCalendar.cs
- XmlAttribute.cs
- _ShellExpression.cs
- Trace.cs
- HttpDictionary.cs
- DiagnosticTrace.cs
- WebPartManagerInternals.cs
- CacheForPrimitiveTypes.cs
- PingReply.cs
- WindowsFormsHelpers.cs
- VisualStateManager.cs
- Rule.cs
- TextRangeBase.cs
- Bezier.cs
- FormViewPageEventArgs.cs
- DateTimeOffset.cs
- SqlTrackingService.cs
- CheckBoxAutomationPeer.cs
- xmlglyphRunInfo.cs
- DeclarativeExpressionConditionDeclaration.cs
- Bezier.cs
- NotFiniteNumberException.cs
- BitmapMetadataBlob.cs
- ImageAttributes.cs
- TextElementCollectionHelper.cs
- ConstructorBuilder.cs
- Parsers.cs
- FileResponseElement.cs
- XamlParser.cs
- serverconfig.cs
- TemplateEditingFrame.cs
- Grid.cs
- ManagementDateTime.cs
- sqlcontext.cs
- VectorAnimation.cs
- Base64Decoder.cs
- Pair.cs
- ProxySimple.cs
- DocumentDesigner.cs
- BitStream.cs
- DesignerCategoryAttribute.cs
- PropertyDescriptorCollection.cs
- SystemParameters.cs
- ArrayConverter.cs
- ProfileSettings.cs
- DbConnectionPool.cs
- SerializationSectionGroup.cs
- DescendentsWalker.cs
- DisplayInformation.cs
- UseLicense.cs
- DbBuffer.cs
- SchemaManager.cs
- StoreAnnotationsMap.cs
- ProcessHostMapPath.cs
- InstanceLockQueryResult.cs
- ReferenceSchema.cs
- ProcessHost.cs
- InputMethodStateChangeEventArgs.cs
- SecurityHelper.cs
- ToolStripOverflow.cs
- EntityDataSourceUtil.cs
- CryptoApi.cs
- DataGridViewCheckBoxColumn.cs
- SoapHttpTransportImporter.cs