-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLatestRatesRequest.cls
40 lines (33 loc) · 1.41 KB
/
LatestRatesRequest.cls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/********************************************************************************************************************
* @ClassName : LatestRatesRequest
* @Description : Request class for Latest Rates API
********************************************************************************************************************/
public with sharing class LatestRatesRequest{
private String base;
private String symbols;
public Map<String, String> queryStringParams;
public LatestRatesRequest(String base, String symbols){
this.base = base;
this.symbols= symbols;
}
public void setQueryStringParams(){
queryStringParams = new Map<String, String>();
if(String.isNotBlank(base)){
queryStringParams.put('base', EncodingUtil.urlEncode(base, 'UTF-8'));
}
if(String.isNotBlank(symbols)){
queryStringParams.put('symbols', EncodingUtil.urlEncode(symbols, 'UTF-8'));
}
}
public String getQueryString(){
if(queryStringParams != null){
//Generate the queryString from the queryStringParams Map
String queryString = '';
for(String key : queryStringParams.keySet()){
queryString += key.toLowerCase() + '=' + queryStringParams.get(key) + '&';
}
return queryString.removeEnd('&');
}
return '';
}
}