Roman
Roman

Reputation: 35

How to create a response in MVC 6

I have this code in MVC 4:

private HttpResponseMessage GetAuthToken(Guid userId)
        {
            var token = _tokenService.GenerateToken(userId);
            var response = Request.CreateResponse(HttpStatusCode.OK, "Authorized");
            response.Headers.Add("Token", token.AuthToken);
            response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
            response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");

            return response;
        }

How I can migrate this code to MVC 6?

Upvotes: 1

Views: 2404

Answers (1)

Shyju
Shyju

Reputation: 218872

This should work for MVC 6.

public ObjectResult GetAuthToken(Guid userId)
{
  var token = _tokenService.GenerateToken(userId);
  var r = new HttpOkObjectResult(token);

  Response.Headers.Add("Token", token.AuthToken);
  Response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
  Response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");

  return r;
}

Or simply the Ok method

public ObjectResult GetAuthToken(Guid userId)
{
  var token = _tokenService.GenerateToken(userId);
  Response.Headers.Add("Token", token.AuthToken);
  Response.Headers.Add("TokenExpiry", ConfigurationManager.AppSettings["AuthTokenExpiry"]);
  Response.Headers.Add("Access-Control-Expose-Headers", "Token,TokenExpiry");

  return Ok(token);
}

Here is a list of samples to convert from Web Api 2 MVC 6.

Upvotes: 2

Related Questions