コード例 #1
0
    internal static Uri EndpointFromResource(ApiResources resource, params object?[] parameters)
    {
        FieldInfo fieldInfo = typeof(ApiResources).GetField(resource.ToString()) !;
        ResourceRouteAttribute attribute = fieldInfo.GetCustomAttribute <ResourceRouteAttribute>() !;

        return(new Uri(string.Format(attribute.Endpoint, parameters), UriKind.Relative));
    }
コード例 #2
0
    internal static Uri EndpointFromResource(ApiResources resource)
    {
        FieldInfo fieldInfo = typeof(ApiResources).GetField(resource.ToString()) !;
        ResourceRouteAttribute attribute = fieldInfo.GetCustomAttribute <ResourceRouteAttribute>() !;

        return(new Uri(attribute.Endpoint, UriKind.Relative));
    }
コード例 #3
0
    public Task SendGetRequest(ApiResources apiResource, params object?[] parameters)
    {
        var endpointUri            = ResourceRouteAttribute.EndpointFromResource(apiResource, parameters);
        HttpRequestMessage request = new(HttpMethod.Get, endpointUri);

        return(SendRequest(request));
    }
コード例 #4
0
    public Task SendPostRequest(ApiResources apiResource, string?body = null)
    {
        var endpointUri = ResourceRouteAttribute.EndpointFromResource(apiResource);

        HttpRequestMessage request = new(HttpMethod.Post, endpointUri);

        if (body is not null)
        {
            request.Content = new StringContent(body, Encoding.UTF8, "application/json");
        }

        return(SendRequest(request));
    }
コード例 #5
0
    public Task SendGetRequest(ApiResources apiResource, string?query = null)
    {
        var baseUri = ResourceRouteAttribute.EndpointFromResource(apiResource);
        var fullUri = baseUri;

        if (query is not null)
        {
            fullUri = new Uri($"{fullUri}?{query}", fullUri.IsAbsoluteUri ? UriKind.Absolute : UriKind.Relative);
        }

        HttpRequestMessage request = new(HttpMethod.Get, fullUri);

        return(SendRequest(request));
    }
コード例 #6
0
        private string GetAbsolutePathToResource(ResourceRouteAttribute route)
        {
            var path = $"/{route.Route}";

            return(path);
        }