public async Task WriteResponseHeadersAsyncCore_AddsMetadataToResponseHeaders() { // Arrange var httpContext = new DefaultHttpContext(); var metadata = new Metadata(); metadata.Add("foo", "bar"); // Act var serverCallContext = new HttpContextServerCallContext(httpContext); await serverCallContext.WriteResponseHeadersAsync(metadata); // Assert Assert.AreEqual("bar", httpContext.Response.Headers["foo"]); }
public async Task WriteResponseHeadersAsyncCore_Base64EncodesBinaryResponseHeaders(string headerName) { // Arrange var headerBytes = new byte[] { 0x01, 0x02, 0x03, 0x04 }; var httpContext = new DefaultHttpContext(); var metadata = new Metadata(); metadata.Add(headerName, headerBytes); // Act var serverCallContext = new HttpContextServerCallContext(httpContext); await serverCallContext.WriteResponseHeadersAsync(metadata); // Assert CollectionAssert.AreEqual(headerBytes, Convert.FromBase64String(httpContext.Response.Headers["foo-bin"].ToString())); }