Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / _CookieModule.cs / 1305376 / _CookieModule.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net {
internal static class CookieModule {
// fields
// constructors
// properties
// methods
internal static void OnSendingHeaders(HttpWebRequest httpWebRequest) {
GlobalLog.Print("CookieModule::OnSendingHeaders()");
try {
if (httpWebRequest.CookieContainer == null) {
return;
}
//
// remove all current cookies. This could be a redirect
//
httpWebRequest.Headers.RemoveInternal(HttpKnownHeaderNames.Cookie);
//
// add in the new headers from the cookie container for this request
//
string optCookie2;
string cookieString = httpWebRequest.CookieContainer.GetCookieHeader(
httpWebRequest.GetRemoteResourceUri(), out optCookie2);
if (cookieString.Length > 0) {
GlobalLog.Print("CookieModule::OnSendingHeaders() setting Cookie header to:[" + cookieString + "]");
httpWebRequest.Headers[HttpKnownHeaderNames.Cookie] = cookieString;
//<
}
}
catch {
}
}
internal static void OnReceivedHeaders(HttpWebRequest httpWebRequest) {
GlobalLog.Print("CookieModule.OnReceivedHeaders()");
//
// if the app doesn't want us to handle cookies then there's nothing
// to do. Note that we're leaving open the possibility that these
// settings could be changed between the request being made and the
// response received
//
try {
if (httpWebRequest.CookieContainer == null) {
return;
}
//
// add any received cookies for this response to the container
//
HttpWebResponse response = httpWebRequest._HttpResponse as HttpWebResponse;
if (response == null) {
return;
}
CookieCollection cookies = null;
try {
string cookieString = response.Headers.SetCookie;
GlobalLog.Print("CookieModule::OnSendingHeaders() received Set-Cookie:[" + cookieString + "]");
if ((cookieString != null) && (cookieString.Length > 0)) {
cookies = httpWebRequest.CookieContainer.CookieCutter(
response.ResponseUri,
HttpKnownHeaderNames.SetCookie,
cookieString,
false);
}
}
catch {
}
try {
string cookieString = response.Headers.SetCookie2;
GlobalLog.Print("CookieModule::OnSendingHeaders() received Set-Cookie2:[" + cookieString + "]");
if ((cookieString != null) && (cookieString.Length > 0)) {
CookieCollection cookies2 = httpWebRequest.CookieContainer.CookieCutter(
response.ResponseUri,
HttpKnownHeaderNames.SetCookie2,
cookieString,
false);
if (cookies != null && cookies.Count != 0) {
cookies.Add(cookies2);
}
else {
cookies = cookies2;
}
}
}
catch {
}
if (cookies != null) {
response.Cookies = cookies;
}
}
catch {
}
}
}
}
// 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
- TemplateEditingService.cs
- PenLineCapValidation.cs
- FocusChangedEventArgs.cs
- MediaScriptCommandRoutedEventArgs.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- WpfXamlType.cs
- SmtpLoginAuthenticationModule.cs
- DesignerDataParameter.cs
- PropertyFilterAttribute.cs
- _emptywebproxy.cs
- SimpleBitVector32.cs
- SslStreamSecurityElement.cs
- Keywords.cs
- Funcletizer.cs
- MsmqBindingBase.cs
- FormsAuthenticationConfiguration.cs
- OdbcParameter.cs
- IdentityNotMappedException.cs
- NameValueFileSectionHandler.cs
- Stylus.cs
- ThumbAutomationPeer.cs
- _AutoWebProxyScriptWrapper.cs
- FileStream.cs
- SerializationInfo.cs
- DragCompletedEventArgs.cs
- FillRuleValidation.cs
- StatusBarPanelClickEvent.cs
- Metafile.cs
- GeneralTransform3DTo2D.cs
- CopyAttributesAction.cs
- Brush.cs
- ExpressionBuilder.cs
- TextEditorDragDrop.cs
- Constraint.cs
- InputLangChangeRequestEvent.cs
- RawTextInputReport.cs
- TextContainerChangedEventArgs.cs
- WindowsToolbarAsMenu.cs
- AsymmetricAlgorithm.cs
- XmlUnspecifiedAttribute.cs
- TextEditorThreadLocalStore.cs
- AutomationElementIdentifiers.cs
- PerformanceCounters.cs
- SiteMapNodeItemEventArgs.cs
- ConnectionPointGlyph.cs
- SmiSettersStream.cs
- Variable.cs
- InkSerializer.cs
- PassportAuthenticationModule.cs
- ReferenceConverter.cs
- SqlConnectionHelper.cs
- DocumentPageView.cs
- MessageProtectionOrder.cs
- SecuritySessionClientSettings.cs
- BezierSegment.cs
- BitmapMetadataBlob.cs
- FormViewDeleteEventArgs.cs
- NetSectionGroup.cs
- ItemCheckedEvent.cs
- DataGridViewSelectedCellCollection.cs
- DataFormats.cs
- DateTimeConverter.cs
- WorkflowPrinting.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- GeneralTransform.cs
- Semaphore.cs
- mansign.cs
- StorageEntitySetMapping.cs
- DateTimeSerializationSection.cs
- DataGridViewColumn.cs
- DefaultSettingsSection.cs
- CodeParameterDeclarationExpressionCollection.cs
- DbExpressionRules.cs
- RequestCacheManager.cs
- DependencyPropertyValueSerializer.cs
- SecuritySessionServerSettings.cs
- SatelliteContractVersionAttribute.cs
- StackBuilderSink.cs
- WsdlInspector.cs
- PerformanceCounterPermissionAttribute.cs
- ZipIOExtraFieldElement.cs
- ListenerElementsCollection.cs
- XhtmlConformanceSection.cs
- DataViewManager.cs
- DiagnosticsConfigurationHandler.cs
- MemberDescriptor.cs
- DataReaderContainer.cs
- HuffModule.cs
- GradientBrush.cs
- PrintPageEvent.cs
- SemaphoreSlim.cs
- HwndStylusInputProvider.cs
- AutoGeneratedField.cs
- LiteralSubsegment.cs
- MediaTimeline.cs
- COM2ColorConverter.cs
- NamedPipeAppDomainProtocolHandler.cs
- TemplateColumn.cs
- HyperLinkField.cs
- IISUnsafeMethods.cs