Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EncodeHeaders()

void System.Net.Mail.Message.EncodeHeaders ( HeaderCollection headers,
bool allowUnicode )
inlinepackage

Definition at line 466 of file Message.cs.

467 {
468 if (_headersEncoding == null)
469 {
471 }
472 for (int i = 0; i < headers.Count; i++)
473 {
474 string key = headers.GetKey(i);
475 if (!MailHeaderInfo.IsUserSettable(key))
476 {
477 continue;
478 }
479 string[] values = headers.GetValues(key);
480 string empty = string.Empty;
481 for (int j = 0; j < values.Length; j++)
482 {
483 empty = ((!MimeBasePart.IsAscii(values[j], permitCROrLF: false) && (!allowUnicode || !MailHeaderInfo.AllowsUnicode(key) || MailBnfHelper.HasCROrLF(values[j]))) ? MimeBasePart.EncodeHeaderValue(values[j], _headersEncoding, MimeBasePart.ShouldUseBase64Encoding(_headersEncoding), key.Length) : values[j]);
484 if (j == 0)
485 {
486 headers.Set(key, empty);
487 }
488 else
489 {
490 headers.Add(key, empty);
491 }
492 }
493 }
494 }
Encoding _headersEncoding
Definition Message.cs:47
override string[] GetValues(string name)
override void Set(string name, string value)
override void Add(string name, string value)
static bool IsAscii(string value, bool permitCROrLF)
static Encoding GetEncoding(int codepage)
Definition Encoding.cs:593

References System.Net.Mail.Message._headersEncoding, System.Net.Mime.HeaderCollection.Add(), System.Net.Mail.MailHeaderInfo.AllowsUnicode(), System.Collections.Specialized.NameObjectCollectionBase.Count, System.Net.Mime.MimeBasePart.EncodeHeaderValue(), System.Text.Encoding.GetEncoding(), System.Collections.Specialized.NameValueCollection.GetKey(), System.Net.Mime.HeaderCollection.GetValues(), System.Net.Mime.MailBnfHelper.HasCROrLF(), System.Net.Mime.MimeBasePart.IsAscii(), System.Net.Mail.MailHeaderInfo.IsUserSettable(), System.key, System.Net.Mime.HeaderCollection.Set(), System.Net.Mime.MimeBasePart.ShouldUseBase64Encoding(), and System.values.

Referenced by System.Net.Mail.Message.PrepareEnvelopeHeaders(), and System.Net.Mail.Message.PrepareHeaders().