Example #1
0
        /// <summary>
        /// Establishes the conversation.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public ApiResponse <EstablishedConversationModel> Establish(IHubsterAuthorizer authorizer, EstablishConversationRequestModel request)
        {
            var apiResponse = _engineAccess.Establish(authorizer, request);

            return(apiResponse);
        }
Example #2
0
        /// <summary>
        /// Establishes the conversation.
        /// </summary>
        /// <param name="authorizer">The authorizer.</param>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public ApiResponse <EstablishedConversationModel> Get(IHubsterAuthorizer authorizer, EstablishConversationRequestModel request)
        {
            var apiResponse = new ApiResponse <EstablishedConversationModel>();

            if (authorizer.EnsureLifespan(apiResponse) == false)
            {
                return(apiResponse);
            }

            var client      = new RestClient(_hostUrl);
            var restRequest = new RestRequest("/api/v1/conversations/establish", Method.POST)
            {
                Timeout = 20000
            };

            restRequest.AddHeader("Content-Type", "application/json");
            restRequest.AddHeader("Authorization", $"{authorizer.Token.TokenType} {authorizer.Token.AccessToken}");
            restRequest.AddHeader("Origin", _origin);

            var body = JsonConvert.SerializeObject(request);

            restRequest.AddParameter("application/json", body, ParameterType.RequestBody);

            var restResponse = client.Execute(restRequest);

            apiResponse = ExtractResponse <EstablishedConversationModel>(restResponse);

            return(apiResponse);
        }