#if !BESTHTTP_DISABLE_SIGNALR_CORE using System; namespace BestHTTP.SignalRCore.Authentication { public sealed class HeaderAuthenticator : IAuthenticationProvider { /// <summary> /// No pre-auth step required for this type of authentication /// </summary> public bool IsPreAuthRequired { get { return false; } } #pragma warning disable 0067 /// <summary> /// Not used event as IsPreAuthRequired is false /// </summary> public event OnAuthenticationSuccededDelegate OnAuthenticationSucceded; /// <summary> /// Not used event as IsPreAuthRequired is false /// </summary> public event OnAuthenticationFailedDelegate OnAuthenticationFailed; #pragma warning restore 0067 private string _credentials; public HeaderAuthenticator(string credentials) { this._credentials = credentials; } /// <summary> /// Not used as IsPreAuthRequired is false /// </summary> public void StartAuthentication() { } /// <summary> /// Prepares the request by adding two headers to it /// </summary> public void PrepareRequest(BestHTTP.HTTPRequest request) { #if !UNITY_WEBGL request.SetHeader("Authorization", "Bearer " + this._credentials); #endif } public Uri PrepareUri(Uri uri) { #if UNITY_WEBGL string query = string.IsNullOrEmpty(uri.Query) ? "?" : uri.Query + "&"; UriBuilder uriBuilder = new UriBuilder(uri.Scheme, uri.Host, uri.Port, uri.AbsolutePath, query + "access_token=" + this._credentials); return uriBuilder.Uri; #else return uri; #endif } } } #endif