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)); }
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)); }
public Task SendGetRequest(ApiResources apiResource, params object?[] parameters) { var endpointUri = ResourceRouteAttribute.EndpointFromResource(apiResource, parameters); HttpRequestMessage request = new(HttpMethod.Get, endpointUri); return(SendRequest(request)); }
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)); }
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)); }
private string GetAbsolutePathToResource(ResourceRouteAttribute route) { var path = $"/{route.Route}"; return(path); }