user-agent as variable

This commit is contained in:
FH 2022-04-02 18:48:14 +02:00
parent 501ddc6b74
commit 81f55b7b61
2 changed files with 6 additions and 6 deletions

View file

@ -11,12 +11,12 @@ public async Task<IHttpActionResult> GetViesData([FromUri] ViesQuery query)
if (!ViesQueryValidator.ValidateViesQuery(query)) if (!ViesQueryValidator.ValidateViesQuery(query))
return BadRequest($"invalid request"); return BadRequest($"invalid request");
// vies endpoint var endpoint = $"{Settings.ViesLookupUrl}"
var viesLookupUrl = $"{Settings.ViesLookupUrl}"; var userAgent = $"{Settings.UserAgent}"
// execute request // execute request
var viesReqest = new ViesHttpRequest(); var viesReqest = new ViesHttpRequest();
var viesResponseView = await viesReqest.GetResponseAsync(viesLookupUrl, query.CountryCode, query.vatNumber); var viesResponseView = await viesReqest.GetResponseAsync(endpoint, query.CountryCode, query.vatNumber, userAgent);
// intermediate parser // intermediate parser
var viesParser = new ViesResponseParser(); var viesParser = new ViesResponseParser();

View file

@ -35,7 +35,7 @@ namespace FCS.Lib.Vies
public class ViesHttpRequest public class ViesHttpRequest
{ {
//"http://ec.europa.eu/taxation_customs/vies/services/checkVatService" //"http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
public async Task<ViesResponseView> GetResponseAsync(string endpoint, string countryCode, string vatNumber) public async Task<ViesResponseView> GetResponseAsync(string endpoint, string countryCode, string vatNumber, string userAgent)
{ {
var xml = new StringBuilder(); var xml = new StringBuilder();
xml.Append($"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:ec.europa.eu:taxud:vies:services:checkVat:types\">"); xml.Append($"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:ec.europa.eu:taxud:vies:services:checkVat:types\">");
@ -53,7 +53,7 @@ namespace FCS.Lib.Vies
using var client = new HttpClient(); using var client = new HttpClient();
using var viesRequest = new HttpRequestMessage(HttpMethod.Post, endpoint); using var viesRequest = new HttpRequestMessage(HttpMethod.Post, endpoint);
viesRequest.Headers.Add("SOAPAction", ""); viesRequest.Headers.Add("SOAPAction", "");
viesRequest.Headers.Add("User-Agent", "Innotec Danmark AS - info.innotec.dk"); viesRequest.Headers.Add("User-Agent", userAgent);
viesRequest.Content = content; viesRequest.Content = content;
var response = await client.SendAsync(viesRequest).ConfigureAwait(true); var response = await client.SendAsync(viesRequest).ConfigureAwait(true);
var xmlResult = await response.Content.ReadAsStringAsync().ConfigureAwait(true); var xmlResult = await response.Content.ReadAsStringAsync().ConfigureAwait(true);