mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-24 05:27:30 +01:00
Merge pull request #1216 from tgstation/ResponseCodeQuickFix
Return 400 instead of 401 for Authentication header issues
This commit is contained in:
@@ -182,9 +182,6 @@ namespace Tgstation.Server.Host.Controllers
|
||||
if (headersException.MissingOrMalformedHeaders.HasFlag(HeaderTypes.Accept))
|
||||
return StatusCode(HttpStatusCode.NotAcceptable, errorMessage);
|
||||
|
||||
if (headersException.MissingOrMalformedHeaders == HeaderTypes.Authorization)
|
||||
return Unauthorized(errorMessage);
|
||||
|
||||
return BadRequest(errorMessage);
|
||||
}
|
||||
|
||||
|
||||
@@ -136,6 +136,20 @@ namespace Tgstation.Server.Tests
|
||||
Assert.AreEqual(ErrorCode.InstanceHeaderRequired, message.ErrorCode);
|
||||
}
|
||||
|
||||
using (var request = new HttpRequestMessage(HttpMethod.Get, url.ToString()))
|
||||
{
|
||||
request.Headers.Accept.Clear();
|
||||
request.Headers.UserAgent.Add(new ProductInfoHeaderValue("RootTest", "1.0.0"));
|
||||
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(MediaTypeNames.Application.Json));
|
||||
request.Headers.Add(ApiHeaders.ApiVersionHeader, "Tgstation.Server.Api/" + ApiHeaders.Version);
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue(ApiHeaders.BearerAuthenticationScheme.ToLower(), token);
|
||||
using var response = await httpClient.SendAsync(request, cancellationToken);
|
||||
Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
|
||||
var content = await response.Content.ReadAsStringAsync();
|
||||
var message = JsonConvert.DeserializeObject<ErrorMessage>(content);
|
||||
Assert.AreEqual(ErrorCode.BadHeaders, message.ErrorCode);
|
||||
}
|
||||
|
||||
using (var request = new HttpRequestMessage(HttpMethod.Post, url.ToString()))
|
||||
{
|
||||
request.Headers.Accept.Clear();
|
||||
|
||||
Reference in New Issue
Block a user