public void ToString_UseNoValueAndTokenAndQuotedStringValues_SerializedCorrectly()
    {
        var nameValue = new NameValueHeaderValue("text", "token");

        Assert.Equal("text=token", nameValue.ToString());

        nameValue.Value = "\"quoted string\"";
        Assert.Equal("text=\"quoted string\"", nameValue.ToString());

        nameValue.Value = null;
        Assert.Equal("text", nameValue.ToString());

        nameValue.Value = string.Empty;
        Assert.Equal("text", nameValue.ToString());
    }
        /// <summary>
        /// Get the header string for the provided claims
        /// </summary>
        /// <param name="httpClient">The httpClient instance</param>
        /// <param name="claims">The claims collection that represents the user identity</param>
        /// <param name="scheme">The authentication scheme</param>
        /// <returns></returns>
        public static string GetHeaderForIdentity(this HttpClient httpClient, IEnumerable <Claim> claims, string scheme)
        {
            if (string.IsNullOrWhiteSpace(scheme))
            {
                throw new ArgumentNullException(nameof(scheme));
            }

            var headerName = AuthenticationHeaderHelper.GetHeaderName(scheme);

            var header = new NameValueHeaderValue(
                headerName,
                $"{TestServerDefaults.AuthenticationScheme} {DefautClaimsEncoder.Encode(claims)}");

            return(header.ToString());
        }
 /// <inheritdoc />
 public override string ToString()
 {
     return(_dispositionType + NameValueHeaderValue.ToString(_parameters, ';', true));
 }
示例#4
0
    /// <inheritdoc />
    public override string ToString()
    {
        var sb = new StringBuilder();

        AppendValueIfRequired(sb, _noStore, NoStoreString);
        AppendValueIfRequired(sb, _noTransform, NoTransformString);
        AppendValueIfRequired(sb, _onlyIfCached, OnlyIfCachedString);
        AppendValueIfRequired(sb, _public, PublicString);
        AppendValueIfRequired(sb, _mustRevalidate, MustRevalidateString);
        AppendValueIfRequired(sb, _proxyRevalidate, ProxyRevalidateString);

        if (_noCache)
        {
            AppendValueWithSeparatorIfRequired(sb, NoCacheString);
            if ((_noCacheHeaders != null) && (_noCacheHeaders.Count > 0))
            {
                sb.Append("=\"");
                AppendValues(sb, _noCacheHeaders);
                sb.Append('\"');
            }
        }

        if (_maxAge.HasValue)
        {
            AppendValueWithSeparatorIfRequired(sb, MaxAgeString);
            sb.Append('=');
            sb.Append(((int)_maxAge.GetValueOrDefault().TotalSeconds).ToString(NumberFormatInfo.InvariantInfo));
        }

        if (_sharedMaxAge.HasValue)
        {
            AppendValueWithSeparatorIfRequired(sb, SharedMaxAgeString);
            sb.Append('=');
            sb.Append(((int)_sharedMaxAge.GetValueOrDefault().TotalSeconds).ToString(NumberFormatInfo.InvariantInfo));
        }

        if (_maxStale)
        {
            AppendValueWithSeparatorIfRequired(sb, MaxStaleString);
            if (_maxStaleLimit.HasValue)
            {
                sb.Append('=');
                sb.Append(((int)_maxStaleLimit.GetValueOrDefault().TotalSeconds).ToString(NumberFormatInfo.InvariantInfo));
            }
        }

        if (_minFresh.HasValue)
        {
            AppendValueWithSeparatorIfRequired(sb, MinFreshString);
            sb.Append('=');
            sb.Append(((int)_minFresh.GetValueOrDefault().TotalSeconds).ToString(NumberFormatInfo.InvariantInfo));
        }

        if (_private)
        {
            AppendValueWithSeparatorIfRequired(sb, PrivateString);
            if ((_privateHeaders != null) && (_privateHeaders.Count > 0))
            {
                sb.Append("=\"");
                AppendValues(sb, _privateHeaders);
                sb.Append('\"');
            }
        }

        NameValueHeaderValue.ToString(_extensions, ',', false, sb);

        return(sb.ToString());
    }