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

◆ ReadBufferAsString()

static string System.Net.Http.HttpContent.ReadBufferAsString ( ArraySegment< byte > buffer,
HttpContentHeaders headers )
inlinestaticpackageinherited

Definition at line 320 of file HttpContent.cs.

321 {
322 Encoding encoding = null;
323 int preambleLength = -1;
324 string text = headers.ContentType?.CharSet;
325 if (text != null)
326 {
327 try
328 {
329 encoding = ((text.Length <= 2 || text[0] != '"' || text[text.Length - 1] != '"') ? Encoding.GetEncoding(text) : Encoding.GetEncoding(text.Substring(1, text.Length - 2)));
330 preambleLength = GetPreambleLength(buffer, encoding);
331 }
332 catch (ArgumentException innerException)
333 {
335 }
336 }
337 if (encoding == null && !TryDetectEncoding(buffer, out encoding, out preambleLength))
338 {
339 encoding = DefaultStringEncoding;
340 preambleLength = 0;
341 }
342 return encoding.GetString(buffer.Array, buffer.Offset + preambleLength, buffer.Count - preambleLength);
343 }
static bool TryDetectEncoding(ArraySegment< byte > buffer, [NotNullWhen(true)] out Encoding encoding, out int preambleLength)
static int GetPreambleLength(ArraySegment< byte > buffer, Encoding encoding)
static readonly Encoding DefaultStringEncoding
static string net_http_content_invalid_charset
Definition SR.cs:46
Definition SR.cs:7
static Encoding GetEncoding(int codepage)
Definition Encoding.cs:593

References System.buffer, System.Net.Http.Headers.MediaTypeHeaderValue.CharSet, System.Net.Http.Headers.HttpContentHeaders.ContentType, System.Net.Http.HttpContent.DefaultStringEncoding, System.Text.Encoding.GetEncoding(), System.Net.Http.HttpContent.GetPreambleLength(), System.Text.Encoding.GetString(), System.SR.net_http_content_invalid_charset, System.text, and System.Net.Http.HttpContent.TryDetectEncoding().

Referenced by System.Net.Http.HttpClient.GetStringAsyncCore(), and System.Net.Http.HttpContent.ReadBufferedContentAsString().