Code:
/ FX-1434 / FX-1434 / 1.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
- XPathItem.cs
- DirectoryNotFoundException.cs
- ConstrainedDataObject.cs
- OleDbError.cs
- LinkLabel.cs
- LabelLiteral.cs
- DirectoryLocalQuery.cs
- DocumentViewerAutomationPeer.cs
- MetadataLocation.cs
- ObjectNavigationPropertyMapping.cs
- NameService.cs
- OracleRowUpdatingEventArgs.cs
- ColumnHeaderConverter.cs
- BindingContext.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- XmlRootAttribute.cs
- LZCodec.cs
- WebSysDescriptionAttribute.cs
- Parser.cs
- EncoderNLS.cs
- HelpEvent.cs
- ColorMap.cs
- HttpContext.cs
- SafeReversePInvokeHandle.cs
- HtmlInputFile.cs
- ColorPalette.cs
- SymLanguageType.cs
- ExpandCollapsePatternIdentifiers.cs
- QuaternionRotation3D.cs
- IsolatedStorageException.cs
- OperatorExpressions.cs
- PackageRelationshipSelector.cs
- SqlGatherConsumedAliases.cs
- TraceListeners.cs
- CodeTypeParameterCollection.cs
- FileLogRecordStream.cs
- Visual3D.cs
- FileAccessException.cs
- AutomationPatternInfo.cs
- StyleCollection.cs
- NonBatchDirectoryCompiler.cs
- StorageFunctionMapping.cs
- CodeObjectCreateExpression.cs
- MetadataCacheItem.cs
- MarkupObject.cs
- HandlerBase.cs
- StrokeNodeOperations.cs
- ChannelDispatcherCollection.cs
- ImageDrawing.cs
- ListItemCollection.cs
- PenThreadPool.cs
- AttributeQuery.cs
- Encoder.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- WindowsMenu.cs
- ReachDocumentPageSerializerAsync.cs
- CacheAxisQuery.cs
- ISAPIApplicationHost.cs
- GlobalizationAssembly.cs
- VisualStyleRenderer.cs
- InlinedAggregationOperatorEnumerator.cs
- SharedPerformanceCounter.cs
- EdmConstants.cs
- BitmapFrame.cs
- OpCellTreeNode.cs
- SoapSchemaImporter.cs
- CompilerErrorCollection.cs
- ExceptionDetail.cs
- WeakEventTable.cs
- FormsAuthenticationCredentials.cs
- ProfileModule.cs
- AssemblyHelper.cs
- DataTablePropertyDescriptor.cs
- DiscardableAttribute.cs
- PrimaryKeyTypeConverter.cs
- TypeUsageBuilder.cs
- WizardStepBase.cs
- SizeFConverter.cs
- WebBaseEventKeyComparer.cs
- DetailsViewPagerRow.cs
- ProviderConnectionPointCollection.cs
- XsltSettings.cs
- BuiltInExpr.cs
- Transform3DCollection.cs
- ProvideValueServiceProvider.cs
- ComponentDispatcher.cs
- Int32Converter.cs
- pingexception.cs
- ExcCanonicalXml.cs
- XmlUtilWriter.cs
- XamlFilter.cs
- FormViewInsertedEventArgs.cs
- XmlSignatureProperties.cs
- DBConnectionString.cs
- LocalizableResourceBuilder.cs
- GregorianCalendarHelper.cs
- AvTraceDetails.cs
- NotifyParentPropertyAttribute.cs
- ProcessManager.cs
- HttpPostedFile.cs