/// <summary> /// Create security domain HTTP request /// </summary> /// <param name="method"></param> /// <param name="hsmName"></param> /// <param name="path">e.g. /securitydomain/download</param> /// <param name="content">optional request body</param> /// <returns></returns> private HttpRequestMessage CreateRequest(HttpMethod method, string hsmName, string path, HttpContent content = null) { var uri = new UriBuilder(_uriHelper.CreateManagedHsmUri(hsmName)) { Path = path, Query = $"api-version={_apiVersion}" }.Uri; var request = new HttpRequestMessage(method, uri) { Content = content }; // add content-type header if (request.Content != null) { request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // add authorization header try { var token = _credentials.GetAccessToken(); token.AuthorizeRequest((tokenType, tokenValue) => { request.Headers.Authorization = new AuthenticationHeaderValue(tokenType, tokenValue); }); } catch (Exception ex) { throw new AzPSException(Resources.InvalidSubscriptionState, ErrorKind.InternalError, ex); } return(request); }
/// <summary> /// Prepare common headers for the request. /// Such as content-type and authorization. /// </summary> /// <param name="httpRequest"></param> private void PrepareRequest(HttpRequestMessage httpRequest) { if (httpRequest.Content != null) { httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } try { var token = _credentials.GetAccessToken(); token.AuthorizeRequest((tokenType, tokenValue) => { httpRequest.Headers.Authorization = new AuthenticationHeaderValue(tokenType, tokenValue); }); } catch (Exception ex) { throw new AuthenticationException(Resources.InvalidSubscriptionState, ex); } }