a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using System.Net.Http;
|
|
using System.Web.Http.SelfHost;
|
|
|
|
namespace System.Web.Http.ContentNegotiation
|
|
{
|
|
public class ContentNegotiationTestBase : IDisposable
|
|
{
|
|
protected readonly string baseUri = "http://localhost:8080/Conneg";
|
|
protected HttpSelfHostServer server = null;
|
|
protected HttpSelfHostConfiguration configuration = null;
|
|
protected HttpClient httpClient = null;
|
|
|
|
public ContentNegotiationTestBase()
|
|
{
|
|
this.SetupHost();
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
this.CleanupHost();
|
|
}
|
|
|
|
public void SetupHost()
|
|
{
|
|
configuration = new HttpSelfHostConfiguration(baseUri);
|
|
configuration.Routes.MapHttpRoute("Default", "{controller}", new { controller = "Conneg" });
|
|
server = new HttpSelfHostServer(configuration);
|
|
server.OpenAsync().Wait();
|
|
|
|
httpClient = new HttpClient();
|
|
}
|
|
|
|
public void CleanupHost()
|
|
{
|
|
if (server != null)
|
|
{
|
|
server.CloseAsync().Wait();
|
|
}
|
|
|
|
if (httpClient != null)
|
|
{
|
|
httpClient.Dispose();
|
|
}
|
|
}
|
|
}
|
|
}
|