Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
73 lines (65 loc) · 2.89 KB

File metadata and controls

73 lines (65 loc) · 2.89 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using AutoMapper;
using SteamWebAPI2.Utilities;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using System.Threading.Tasks;
namespace SteamWebAPI2
{
/// <summary>
/// Represents an interface into the Steam Store Web API
/// </summary>
public abstract class SteamStoreInterface
{
private const string steamStoreApiBaseUrl = "http://store.steampowered.com/api/";
private readonly SteamStoreRequest steamStoreRequest;
protected readonly IMapper mapper;
/// <summary>
/// Constructs and maps the default objects for Steam Store Web API use
/// </summary>
public SteamStoreInterface(IMapper mapper)
{
this.mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
steamStoreRequest = new SteamStoreRequest(steamStoreApiBaseUrl);
}
/// <summary>
/// Constructs and maps based on a custom http client
/// </summary>
/// <param name="httpClient">Client to make requests with</param>
public SteamStoreInterface(IMapper mapper, HttpClient httpClient)
{
this.mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
steamStoreRequest = new SteamStoreRequest(steamStoreApiBaseUrl, httpClient);
}
/// <summary>
/// Constructs and maps based on a custom Steam Store Web API URL
/// </summary>
/// <param name="steamStoreApiBaseUrl">Steam Store Web API URL</param>
public SteamStoreInterface(string steamStoreApiBaseUrl)
{
steamStoreRequest = new SteamStoreRequest(steamStoreApiBaseUrl);
}
/// <summary>
/// Constructs and maps based on a custom http client and custom Steam Store Web API URL
/// </summary>
/// <param name="steamStoreApiBaseUrl">Steam Store Web API URL</param>
/// <param name="httpClient">Client to make requests with</param>
public SteamStoreInterface(string steamStoreApiBaseUrl, HttpClient httpClient)
{
steamStoreRequest = new SteamStoreRequest(steamStoreApiBaseUrl, httpClient);
}
/// <summary>
/// Calls a endpoint on the constructed Web API with parameters
/// </summary>
/// <typeparam name="T">Type of object which will be deserialized from the response</typeparam>
/// <param name="endpointName">Endpoint to call on the interface</param>
/// <param name="parameters">Parameters to pass to the endpoint</param>
/// <returns>Deserialized response object</returns>
internal async Task<T> CallMethodAsync<T>(string endpointName, IList<SteamWebRequestParameter> parameters = null)
{
Debug.Assert(!string.IsNullOrEmpty(endpointName));
return await steamStoreRequest.SendStoreRequestAsync<T>(endpointName, parameters);
}
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.