public InvokeOpenApiEndpointService(IApiResponseService apiResponseService,
                                     ICheckRequiredParametersService checkRequiredParametersService,
                                     ICreateMessageService createMessageService,
                                     IResponseRecorderService responseRecorderService)
 {
     _apiResponseService    = apiResponseService;
     _parameterCheckService = checkRequiredParametersService;
     _createMessageService  = createMessageService;
     _responseRecorder      = responseRecorderService;
 }
 public Oauth2ClientCredentials(IDateTimeWrapper dateTimeWrapper,
                                IPostUrlFormEncodedService postUrlFormEncodedService,
                                IResponseRecorderService responseRecorderService,
                                string tokenUri,
                                string clientId,
                                string clientSecret)
 {
     _dateService           = dateTimeWrapper;
     _postUrlEncodedService = postUrlFormEncodedService;
     _responseRecorder      = responseRecorderService;
     _tokenUri     = tokenUri;
     _clientId     = clientId;
     _clientSecret = clientSecret;
 }
 public Oauth2PasswordCredentials(IDateTimeWrapper dateTimeWrapper,
                                  IPostUrlFormEncodedService postUrlFormEncodedService,
                                  IResponseRecorderService responseRecorderService,
                                  string tokenUri,
                                  string clientId,
                                  string clientSecret,
                                  string userName,
                                  string password)
 {
     _dateService           = dateTimeWrapper;
     _postUrlEncodedService = postUrlFormEncodedService;
     _responseRecorder      = responseRecorderService;
     _tokenUri     = tokenUri;
     _clientId     = clientId;
     _clientSecret = clientSecret;
     _userName     = userName;
     _password     = password;
 }
        protected override void BeginProcessing()
        {
            base.BeginProcessing();

            if (_dateService == null)
            {
                _dateService = new DateTimeWrapper();
            }

            if (_postUrlEncodedService == null)
            {
                _postUrlEncodedService = new PostUrlFormEncodedService(new ResponseContentServiceFactory(),
                                                                       new HttpClientWrapper(),
                                                                       _dateService);
            }

            if (_responseRecorder == null)
            {
                _responseRecorder = new ResponseRecorderService();
            }
        }