private void ValidateRequestSettings(IRequestSettings <T> config, Common.Utils.IContactRequest typeRequest) { TypeSwitch.Do( config.mailingProvider, TypeSwitch.Case <IIContactRequest>(() => { IContactValidateRequestSettings(config, typeRequest); }), TypeSwitch.Default(() => { })); }
public HttpClient GetHttpClient(IRequestSettings <T> config, Common.Utils.IContactRequest typeRequest) { HttpClient client = new HttpClient(); string username = requestFrm.ApiUserName == string.Empty ? throw new ArgumentException("[Username] not found in settings, this key es required.") : requestFrm.ApiUserName; string password = requestFrm.ApiUserPassword == string.Empty ? throw new ArgumentException("[Password] not found in settings, this key es required.") : requestFrm.ApiUserPassword; string apiversion = requestFrm.ApiVersion == string.Empty ? throw new ArgumentException("[API-Version] not found in settings, this key es required.") : requestFrm.ApiVersion; string appid = requestFrm.ApiAppId == string.Empty ? throw new ArgumentException("[API-AppId] not found in settings, this key es required.") : requestFrm.ApiAppId; string accept = config.accept == string.Empty ? throw new ArgumentException("[Accept] not found in settings, this key es required.") : config.accept; string contenttype = config.contentType == string.Empty ? throw new ArgumentException("[contentType] not found in settings, this key es required.") : config.contentType; AuthenticationHeaderValue authorization = new AuthenticationHeaderValue( "Basic", Convert.ToBase64String( System.Text.ASCIIEncoding.ASCII.GetBytes( string.Format("{0}:{1}", username, password)))); //Todo client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(contenttype)); client.DefaultRequestHeaders.Add("Username", username); client.DefaultRequestHeaders.Add("Password", password); client.DefaultRequestHeaders.Add("API-Version", apiversion); client.DefaultRequestHeaders.Add("API-AppId", appid); client.DefaultRequestHeaders.Add("Accept", accept); client.DefaultRequestHeaders.Add("API-Username", username); client.DefaultRequestHeaders.Add("API-Password", password); client.DefaultRequestHeaders.Authorization = authorization; return(client); }
public string GetUriRequest(Common.Utils.IContactRequest typeRequest, IRequestSettings <T> config, Common.Partners.IContact.IContactRequest requestFrmOuter) { requestFrm = requestFrmOuter; string uri = CreatetUriRequest(config.mailingProvider, typeRequest); return(uri); }
public HttpWebRequest GetWebRequest(Common.Utils.IContactRequest typeRequest, IRequestSettings <T> config, Common.Partners.IContact.IContactRequest requestFrmOuter) { requestFrm = requestFrmOuter; ValidateRequestSettings(config, typeRequest); string uri = CreatetUriRequest(config.mailingProvider, typeRequest); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); ConfigureRequest(request, config); return(request); }
private string IContactCreatetUriRequest(T providerSettings, Common.Utils.IContactRequest typeRequest) { switch (typeRequest) { case Common.Utils.IContactRequest.AddCampaign: { return(CreateIContactPostCampaignRequest(providerSettings)); } case Common.Utils.IContactRequest.AddMessage: { return(CreateIContactPostMessageRequest(providerSettings)); } case Common.Utils.IContactRequest.AddSends: { return(CreateIContactPostSendsRequest(providerSettings)); } case Common.Utils.IContactRequest.GetCamapign: { return(CreateIContactGetCampaignRequest(providerSettings)); } case Common.Utils.IContactRequest.GetLists: { return(CreateIContactGetListsRequest(providerSettings)); } case Common.Utils.IContactRequest.GetMessage: { return(CreateIContactGetMessageRequest(providerSettings)); } case Common.Utils.IContactRequest.GetSends: { return(CreateIContactGetSendsRequest(providerSettings)); } case IContactRequest.GetUsers: { return(CreateIContactGetUsersRequest(providerSettings)); } case IContactRequest.GetFolders: { return(CreateIContactGetFolderRequest(providerSettings)); } default: { return(string.Empty); } } }
private string CreatetUriRequest(T mailingProvider, Common.Utils.IContactRequest typeRequest) { string uri = string.Empty; TypeSwitch.Do( mailingProvider, TypeSwitch.Case <IIContactRequest>(() => { uri = IContactCreatetUriRequest(mailingProvider, typeRequest); }), TypeSwitch.Default(() => { uri = string.Empty; })); return(uri); }
private void IContactValidateRequestSettings(IRequestSettings <T> config, Common.Utils.IContactRequest typeRequest) { //Tem var string username = requestFrm.ApiUserName == string.Empty ? throw new ArgumentException("[Username] not found in settings, this key es required.") : requestFrm.ApiUserName; string password = requestFrm.ApiUserPassword == string.Empty ? throw new ArgumentException("[Password] not found in settings, this key es required.") : requestFrm.ApiUserPassword; string apiversion = requestFrm.ApiVersion == string.Empty ? throw new ArgumentException("[API-Version] not found in settings, this key es required.") : requestFrm.ApiVersion; string appid = requestFrm.ApiAppId == string.Empty ? throw new ArgumentException("[API-AppId] not found in settings, this key es required.") : requestFrm.ApiAppId; string accept = config.accept == string.Empty ? throw new ArgumentException("[Accept] not found in settings, this key es required.") : config.accept; string contenttype = config.contentType == string.Empty ? throw new ArgumentException("[contentType] not found in settings, this key es required.") : config.contentType; //checar que no esten las claves. if (config.headers.ContainsKey("Username") == false) { config.headers.Add("Username", username); } if (config.headers.ContainsKey("Password") == false) { config.headers.Add("Password", password); } if (config.headers.ContainsKey("API-Version") == false) { config.headers.Add("API-Version", apiversion); } if (config.headers.ContainsKey("API-AppId") == false) { config.headers.Add("API-AppId", appid); } if (config.headers.ContainsKey("Accept") == false) { config.headers.Add("Accept", accept); } if (config.headers.ContainsKey("contentType") == false) { config.headers.Add("contentType", contenttype); } if ( typeRequest == Common.Utils.IContactRequest.AddMessage || typeRequest == Common.Utils.IContactRequest.AddSends) { if (config.data == string.Empty) { throw new ArgumentException("[Data] not found in settings, this key es required."); } config.method = "POST"; } else if (typeRequest == Common.Utils.IContactRequest.AddCampaign) { config.method = "POST"; } else { config.method = "GET"; } // Config string method = config.method == string.Empty ? throw new ArgumentException("[Method] not found in settings, this key es required.") : config.method; config.authorization = string.Format("{0} {1}", username, password); if (config.headers.ContainsKey("Method") == false) { config.headers.Add("Method", method); } }