Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / _CookieModule.cs / 1 / _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.Address,
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.
//------------------------------------------------------------------------------
//
// 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.Address,
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
- DayRenderEvent.cs
- ValueOfAction.cs
- MetadataSource.cs
- RotateTransform3D.cs
- State.cs
- FontSizeConverter.cs
- DataColumnMappingCollection.cs
- TextRunTypographyProperties.cs
- GiveFeedbackEvent.cs
- PropertyMapper.cs
- CommandField.cs
- DataGridViewCellStyle.cs
- RequestBringIntoViewEventArgs.cs
- WorkflowElementDialogWindow.xaml.cs
- InternalConfigConfigurationFactory.cs
- EncryptedType.cs
- srgsitem.cs
- SqlGatherProducedAliases.cs
- IISUnsafeMethods.cs
- CustomErrorsSectionWrapper.cs
- TagPrefixInfo.cs
- pingexception.cs
- CurrentChangedEventManager.cs
- AsymmetricKeyExchangeFormatter.cs
- FunctionImportMapping.cs
- ConnectionInterfaceCollection.cs
- ClientFormsAuthenticationMembershipProvider.cs
- CommandHelper.cs
- XPathAxisIterator.cs
- SecureStringHasher.cs
- CngAlgorithm.cs
- FileUpload.cs
- AutomationElement.cs
- Wildcard.cs
- DllNotFoundException.cs
- XsltInput.cs
- PixelShader.cs
- List.cs
- AddInEnvironment.cs
- ContextStack.cs
- DataBindingCollectionEditor.cs
- LifetimeManager.cs
- ControlBuilder.cs
- sqlser.cs
- TabletDeviceInfo.cs
- InvokeHandlers.cs
- DesignerDataParameter.cs
- AllMembershipCondition.cs
- MessageRpc.cs
- ControlAdapter.cs
- PeerNameResolver.cs
- AliasedExpr.cs
- HtmlImage.cs
- ErrorFormatter.cs
- HtmlTextArea.cs
- Matrix3D.cs
- panel.cs
- PipelineComponent.cs
- Tuple.cs
- ManagementObjectSearcher.cs
- LoginDesignerUtil.cs
- DataExpression.cs
- FixedTextBuilder.cs
- HtmlEmptyTagControlBuilder.cs
- CodeAttributeArgumentCollection.cs
- DnsPermission.cs
- WebPartHelpVerb.cs
- PhonemeConverter.cs
- ImageListStreamer.cs
- ProxyAttribute.cs
- BamlRecordHelper.cs
- TableLayoutColumnStyleCollection.cs
- ProxyAttribute.cs
- NetworkAddressChange.cs
- ActivityCodeGenerator.cs
- ToolStripComboBox.cs
- WindowsScrollBar.cs
- Char.cs
- AuthStoreRoleProvider.cs
- SafeNativeMethodsMilCoreApi.cs
- UdpChannelListener.cs
- DispatcherEventArgs.cs
- NumericExpr.cs
- CultureSpecificCharacterBufferRange.cs
- precedingquery.cs
- XsdBuildProvider.cs
- EntityContainerRelationshipSet.cs
- TreeNodeMouseHoverEvent.cs
- ResourceSet.cs
- HttpBrowserCapabilitiesBase.cs
- PieceDirectory.cs
- EntityDataSourceQueryBuilder.cs
- XmlSignificantWhitespace.cs
- SoapHeaderException.cs
- ImageAutomationPeer.cs
- ReadingWritingEntityEventArgs.cs
- Expression.cs
- ArrangedElement.cs
- CookieParameter.cs
- httpserverutility.cs