示例#1
0
        public Result RandomImage(Type type, bool nsfw = false)
        {
            var typeString = (type.GetAttribute <DescriptionAttribute>()?.Description ?? type.ToString()).ToLower();

            var result = Call("i/r/", new[]
            {
                new RestSharp.Parameter("type", typeString, RestSharp.ParameterType.GetOrPost),
                new RestSharp.Parameter("nsfw", nsfw.ToString().ToLower(), RestSharp.ParameterType.GetOrPost),
            });

            // Absolute path.
            if (!string.IsNullOrEmpty(result?.Path))
            {
                result.Path = BaseUrl.Append(result.Path).ToString();
            }

            return(result);
        }
示例#2
0
        public HttpRequestMessage Build()
        {
            var uri       = BaseUrl.Append(UrlSegments);
            var getParams = QueryStringParameters.ToQueryString();

            if (!string.IsNullOrEmpty(getParams))
            {
                uri = uri.Append($"?{getParams}");
            }
            var req = new HttpRequestMessage(Method, uri);

            foreach ((var header, var value) in Headers)
            {
                req.Headers.Add(header, value);
            }
            var jsonBody = Body == null ? null : JsonSerializer.Serialize(Body, Degiro.JsonSerializerOptions);

            if (!string.IsNullOrEmpty(jsonBody) && !jsonBody.Equals("{}", StringComparison.OrdinalIgnoreCase))
            {
                req.Content = new StringContent(jsonBody, Encoding.UTF8, "application/json");
            }
            return(req);
        }