Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / WebUtil.cs / 2 / WebUtil.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// static utility functions // //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System.Collections.Generic; using System.Diagnostics; using System.IO; #if !ASTORIA_LIGHT // Data.Services http stack using System.Net; #else using System.Data.Services.Http; #endif ///web utility functions internal static partial class WebUtil { ///copy from one stream to another /// input stream /// output stream /// reusable buffer ///count of copied bytes internal static long CopyStream(Stream input, Stream output, ref byte[] refBuffer) { Debug.Assert(null != input, "null input stream"); Debug.Assert(null != output, "null output stream"); long total = 0; byte[] buffer = refBuffer; if (null == buffer) { refBuffer = buffer = new byte[1000]; } int count = 0; while (input.CanRead && (0 < (count = input.Read(buffer, 0, buffer.Length)))) { output.Write(buffer, 0, count); total += count; } return total; } ///get response object from possible WebException /// exception to probe /// http web respose object from exception internal static void GetHttpWebResponse(InvalidOperationException exception, ref HttpWebResponse response) { if (null == response) { WebException webexception = (exception as WebException); if (null != webexception) { response = (HttpWebResponse)webexception.Response; } } } ///is this a success status code /// status code ///true if status is between 200-299 internal static bool SuccessStatusCode(HttpStatusCode status) { return (200 <= (int)status && (int)status < 300); } ////// turn the response object headers into a dictionary /// /// response ///dictionary internal static DictionaryWrapResponseHeaders(HttpWebResponse response) { Dictionary headers = new Dictionary (); if (null != response) { foreach (string name in response.Headers.AllKeys) { headers.Add(name, response.Headers[name]); } } return headers; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //// static utility functions // //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System.Collections.Generic; using System.Diagnostics; using System.IO; #if !ASTORIA_LIGHT // Data.Services http stack using System.Net; #else using System.Data.Services.Http; #endif ///web utility functions internal static partial class WebUtil { ///copy from one stream to another /// input stream /// output stream /// reusable buffer ///count of copied bytes internal static long CopyStream(Stream input, Stream output, ref byte[] refBuffer) { Debug.Assert(null != input, "null input stream"); Debug.Assert(null != output, "null output stream"); long total = 0; byte[] buffer = refBuffer; if (null == buffer) { refBuffer = buffer = new byte[1000]; } int count = 0; while (input.CanRead && (0 < (count = input.Read(buffer, 0, buffer.Length)))) { output.Write(buffer, 0, count); total += count; } return total; } ///get response object from possible WebException /// exception to probe /// http web respose object from exception internal static void GetHttpWebResponse(InvalidOperationException exception, ref HttpWebResponse response) { if (null == response) { WebException webexception = (exception as WebException); if (null != webexception) { response = (HttpWebResponse)webexception.Response; } } } ///is this a success status code /// status code ///true if status is between 200-299 internal static bool SuccessStatusCode(HttpStatusCode status) { return (200 <= (int)status && (int)status < 300); } ////// turn the response object headers into a dictionary /// /// response ///dictionary internal static DictionaryWrapResponseHeaders(HttpWebResponse response) { Dictionary headers = new Dictionary (); if (null != response) { foreach (string name in response.Headers.AllKeys) { headers.Add(name, response.Headers[name]); } } return headers; } } } // 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
- ProfileManager.cs
- ToolStripControlHost.cs
- QuaternionRotation3D.cs
- ErrorWrapper.cs
- XamlFrame.cs
- UnsafeMethods.cs
- XDRSchema.cs
- ZoomPercentageConverter.cs
- LinqDataSourceContextEventArgs.cs
- JulianCalendar.cs
- EmissiveMaterial.cs
- CompressedStack.cs
- MouseOverProperty.cs
- infer.cs
- GraphicsState.cs
- SHA384CryptoServiceProvider.cs
- Walker.cs
- CodeStatement.cs
- AmbientValueAttribute.cs
- WebCategoryAttribute.cs
- WebCodeGenerator.cs
- SoapIncludeAttribute.cs
- ObjectHandle.cs
- VectorAnimationUsingKeyFrames.cs
- Composition.cs
- PenThread.cs
- ScriptingAuthenticationServiceSection.cs
- EdmItemCollection.cs
- FlowDocumentView.cs
- AsymmetricKeyExchangeFormatter.cs
- PrintController.cs
- PolicyVersionConverter.cs
- ExpressionNode.cs
- TreeBuilder.cs
- RectangleHotSpot.cs
- OraclePermission.cs
- RedistVersionInfo.cs
- PermissionRequestEvidence.cs
- DocComment.cs
- AppSettingsReader.cs
- SystemFonts.cs
- ScalarOps.cs
- RepeatButtonAutomationPeer.cs
- AccessorTable.cs
- XmlRootAttribute.cs
- KeyMatchBuilder.cs
- ControlDesignerState.cs
- AttachmentService.cs
- CreateUserWizard.cs
- VarRefManager.cs
- MembershipValidatePasswordEventArgs.cs
- TemplateAction.cs
- SubpageParagraph.cs
- DataGridColumnCollection.cs
- RayMeshGeometry3DHitTestResult.cs
- SecurityIdentifierConverter.cs
- TextSchema.cs
- TextParaClient.cs
- Border.cs
- XmlDeclaration.cs
- RuleElement.cs
- VerificationAttribute.cs
- MasterPage.cs
- UnmanagedHandle.cs
- WindowPatternIdentifiers.cs
- ScriptResourceInfo.cs
- XPathNodeHelper.cs
- SystemFonts.cs
- PageCodeDomTreeGenerator.cs
- ClientBuildManager.cs
- StorageEntitySetMapping.cs
- Literal.cs
- PartialCachingControl.cs
- DataGridViewCellValueEventArgs.cs
- CacheRequest.cs
- StandardRuntimeEnumValidator.cs
- DirectoryObjectSecurity.cs
- CodeNamespaceImportCollection.cs
- XmlEncoding.cs
- ServiceNameCollection.cs
- Int64.cs
- ToggleButtonAutomationPeer.cs
- ByteStreamGeometryContext.cs
- QueryOpeningEnumerator.cs
- ExpressionEditorAttribute.cs
- MappedMetaModel.cs
- GestureRecognizer.cs
- EventSourceCreationData.cs
- MsmqReceiveParameters.cs
- CapabilitiesRule.cs
- BinaryUtilClasses.cs
- FlowSwitch.cs
- WmpBitmapEncoder.cs
- ConfigurationElement.cs
- UnsafeNativeMethods.cs
- AdPostCacheSubstitution.cs
- RemoteWebConfigurationHostStream.cs
- EncryptedXml.cs
- MatcherBuilder.cs
- SystemSounds.cs