Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 {
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PeerContact.cs
- BitmapEffectInput.cs
- PropertyPushdownHelper.cs
- BuiltInExpr.cs
- TypedTableGenerator.cs
- DefinitionBase.cs
- EntitySetBaseCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- BrowserCapabilitiesCodeGenerator.cs
- FixedSOMElement.cs
- ChannelListenerBase.cs
- _ScatterGatherBuffers.cs
- SoapFormatExtensions.cs
- DragDropManager.cs
- _NestedMultipleAsyncResult.cs
- EntityStoreSchemaFilterEntry.cs
- SqlUserDefinedTypeAttribute.cs
- LayoutSettings.cs
- LoginCancelEventArgs.cs
- HtmlListAdapter.cs
- SchemaEntity.cs
- XmlSchemaObjectTable.cs
- WebPartDescriptionCollection.cs
- TableCell.cs
- BitmapMetadataEnumerator.cs
- propertyentry.cs
- Rect3D.cs
- ConsoleKeyInfo.cs
- BrowserDefinitionCollection.cs
- ExpressionPrefixAttribute.cs
- shaperfactoryquerycacheentry.cs
- OrderablePartitioner.cs
- VisualStyleTypesAndProperties.cs
- MetaForeignKeyColumn.cs
- MessageHeaderDescription.cs
- TripleDES.cs
- SoapIncludeAttribute.cs
- FilterQuery.cs
- UserMapPath.cs
- StoreItemCollection.cs
- XmlChildEnumerator.cs
- NetSectionGroup.cs
- DependentList.cs
- GridErrorDlg.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- _AutoWebProxyScriptWrapper.cs
- ElementAction.cs
- QueryableFilterRepeater.cs
- PageResolution.cs
- RowUpdatingEventArgs.cs
- XmlRawWriter.cs
- DataGridToolTip.cs
- TypeForwardedToAttribute.cs
- X509CertificateStore.cs
- SuppressedPackageProperties.cs
- RuntimeConfig.cs
- Highlights.cs
- BaseParser.cs
- WithStatement.cs
- ResourcesChangeInfo.cs
- BuildProviderCollection.cs
- SqlUnionizer.cs
- TextRangeEditTables.cs
- WebScriptMetadataMessage.cs
- ExpressionBuilderCollection.cs
- SqlDataSourceEnumerator.cs
- EncoderParameters.cs
- WebPartZoneCollection.cs
- TransportSecurityProtocol.cs
- Type.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- CaseStatement.cs
- StreamResourceInfo.cs
- Grant.cs
- ListViewItemMouseHoverEvent.cs
- CommonProperties.cs
- DataGridViewCellStyleChangedEventArgs.cs
- StrokeNodeData.cs
- DtrList.cs
- dataprotectionpermission.cs
- ParentQuery.cs
- LocalIdKeyIdentifierClause.cs
- RegisteredExpandoAttribute.cs
- SelectedCellsCollection.cs
- ProviderIncompatibleException.cs
- PropertyChangedEventArgs.cs
- VirtualizingStackPanel.cs
- MemberPathMap.cs
- EntityStoreSchemaGenerator.cs
- PerformanceCounters.cs
- ConfigurationManagerInternalFactory.cs
- TextProviderWrapper.cs
- TransformCryptoHandle.cs
- SignedXml.cs
- HtmlSelect.cs
- EventLogEntry.cs
- WebControlAdapter.cs
- PackageDigitalSignature.cs
- ProcessHostServerConfig.cs
- ComponentFactoryHelpers.cs