UnityHttpMessageHandler
class in
UnityEngine.Networking
Suggest a change
Success!
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Close
Submission failed
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Close
Description
An HttpMessageHandler that can be used with HttpClient to perform web requests using UnityWebRequest.
UnityHttpMessageHandler enables sending web requests to HTTP servers using the standard HttpClient. This allows the use of libraries that expect to use HttpClient, but allow the developer to replace the underlying HttpMessageHandler that HttpClient uses. The request and response streams can be used to stream data for uploading and downloading, respectively.
UnityHttpMessageHandler can be used with GrpcChannel to make gRPC calls.
In a basic use case, UnityHttpMessageHandler can be used with HttpClient to make HTTP requests.
using UnityEngine;
using System.Net.Http;
using UnityEngine.Networking;
using Grpc.Core;
using Grpc.Net.Client;
public class GrpcChannelFactory
{
public static GrpcChannel CreateGrpcChannel()
{
var httpHandler = new UnityEngine.Networking.UnityHttpMessageHandler()
var channel = GrpcChannel.ForAddress("https://www.my-server.com", new GrpcChannelOptions
{
HttpHandler = httpHandler
});
return channel;
}
}
using UnityEngine;
using System.Net.Http;
using UnityEngine.Networking;
public class MyBehaviour : MonoBehaviour
{
void Start()
{
DoRequestAsync();
}
async void DoRequestAsync()
{
HttpClient client = new HttpClient(new UnityEngine.Networking.UnityHttpMessageHandler());
var request = new HttpRequestMessage(HttpMethod.Get, "https://www.my-server.com");
var response = await client.SendAsync(request);
var status = response.StatusCode;
var content = await response.Content.ReadAsStringAsync(); // content will contain the HTTP response body
// Show results as text
Debug.Log(content);
}
}
Properties
| Property |
Description |
| CertificateHandler | Holds a reference to a UnityHttpMessageHandler.CertificateHandler object, which manages certificate validation for the underlying UnityWebRequest that this UnityHttpMessageHandler creates. |
| HttpForcedVersion | Force the version of HTTP used when making web requests with UnityHttpMessageHandler. |
Protected Methods
| Method |
Description |
| SendAsync | Send an HTTP request as an asynchronous operation. |