import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@DataContract
public static class GetAnalyticsInfo implements IGet
{
@DataMember(Order=1)
public Date month = null;
@DataMember(Order=2)
public String type = null;
@DataMember(Order=3)
public String op = null;
@DataMember(Order=4)
public String apiKey = null;
@DataMember(Order=5)
public String userId = null;
@DataMember(Order=6)
public String ip = null;
public Date getMonth() { return month; }
public GetAnalyticsInfo setMonth(Date value) { this.month = value; return this; }
public String getType() { return type; }
public GetAnalyticsInfo setType(String value) { this.type = value; return this; }
public String getOp() { return op; }
public GetAnalyticsInfo setOp(String value) { this.op = value; return this; }
public String getApiKey() { return apiKey; }
public GetAnalyticsInfo setApiKey(String value) { this.apiKey = value; return this; }
public String getUserId() { return userId; }
public GetAnalyticsInfo setUserId(String value) { this.userId = value; return this; }
public String getIp() { return ip; }
public GetAnalyticsInfo setIp(String value) { this.ip = value; return this; }
}
@DataContract
public static class GetAnalyticsInfoResponse
{
@DataMember(Order=1)
public ArrayList<String> months = null;
@DataMember(Order=2)
public AnalyticsLogInfo result = null;
@DataMember(Order=3)
public ResponseStatus responseStatus = null;
public ArrayList<String> getMonths() { return months; }
public GetAnalyticsInfoResponse setMonths(ArrayList<String> value) { this.months = value; return this; }
public AnalyticsLogInfo getResult() { return result; }
public GetAnalyticsInfoResponse setResult(AnalyticsLogInfo value) { this.result = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public GetAnalyticsInfoResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
@DataContract
public static class AnalyticsLogInfo
{
@DataMember(Order=1)
public Long id = null;
@DataMember(Order=2)
public Date dateTime = null;
@DataMember(Order=3)
public String browser = null;
@DataMember(Order=4)
public String device = null;
@DataMember(Order=5)
public String bot = null;
@DataMember(Order=6)
public String op = null;
@DataMember(Order=7)
public String userId = null;
@DataMember(Order=8)
public String userName = null;
@DataMember(Order=9)
public String apiKey = null;
@DataMember(Order=10)
public String ip = null;
public Long getId() { return id; }
public AnalyticsLogInfo setId(Long value) { this.id = value; return this; }
public Date getDateTime() { return dateTime; }
public AnalyticsLogInfo setDateTime(Date value) { this.dateTime = value; return this; }
public String getBrowser() { return browser; }
public AnalyticsLogInfo setBrowser(String value) { this.browser = value; return this; }
public String getDevice() { return device; }
public AnalyticsLogInfo setDevice(String value) { this.device = value; return this; }
public String getBot() { return bot; }
public AnalyticsLogInfo setBot(String value) { this.bot = value; return this; }
public String getOp() { return op; }
public AnalyticsLogInfo setOp(String value) { this.op = value; return this; }
public String getUserId() { return userId; }
public AnalyticsLogInfo setUserId(String value) { this.userId = value; return this; }
public String getUserName() { return userName; }
public AnalyticsLogInfo setUserName(String value) { this.userName = value; return this; }
public String getApiKey() { return apiKey; }
public AnalyticsLogInfo setApiKey(String value) { this.apiKey = value; return this; }
public String getIp() { return ip; }
public AnalyticsLogInfo setIp(String value) { this.ip = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/GetAnalyticsInfo HTTP/1.1
Host: blazordiffusion.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"month":"0001-01-01T00:00:00","type":"String","op":"String","apiKey":"String","userId":"String","ip":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"months":["String"],"result":{"id":0,"dateTime":"0001-01-01T00:00:00","browser":"String","device":"String","bot":"String","op":"String","userId":"String","userName":"String","apiKey":"String","ip":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}