Right now I am returning an encrypted response
(IActionResult)Ok(_encryptFunction.Encrypt(jsonResponse));
I want to return an encrypted response like
(IActionResult)Ok(jsonResponse);
Right now I am returning an encrypted response
(IActionResult)Ok(_encryptFunction.Encrypt(jsonResponse));
I want to return an encrypted response like
(IActionResult)Ok(jsonResponse);
You can use middleware, too.
app.Use(async (context, nextMiddleware) =>
{
context.Request.EnableRewind();
Stream originalBody = context.Response.Body;
try
{
using (var memStream = new MemoryStream())
{
context.Response.Body = memStream;
await nextMiddleware();
memStream.Position = 0;
string responseBody = new StreamReader(memStream).ReadToEnd();
memStream.Position = 0;
byte[] data = Encoding.UTF8.GetBytes(responseBody);//Encrypt responseBody here
memStream.Write(data, 0, data.Length);
memStream.Position = 0;
await memStream.CopyToAsync(originalBody);
}
}
finally
{
context.Response.Body = originalBody;
}
});
This code just write encrypted data over simple data.It's better to clear simple data then write new encrypted data in Response body.