import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@DataContract
public static class GetAnalyticsReports implements IGet
{
@DataMember(Order=1)
public Date month = null;
@DataMember(Order=2)
public String filter = null;
@DataMember(Order=3)
public String value = null;
@DataMember(Order=4)
public Boolean force = null;
public Date getMonth() { return month; }
public GetAnalyticsReports setMonth(Date value) { this.month = value; return this; }
public String getFilter() { return filter; }
public GetAnalyticsReports setFilter(String value) { this.filter = value; return this; }
public String getValue() { return value; }
public GetAnalyticsReports setValue(String value) { this.value = value; return this; }
public Boolean isForce() { return force; }
public GetAnalyticsReports setForce(Boolean value) { this.force = value; return this; }
}
@DataContract
public static class GetAnalyticsReportsResponse
{
@DataMember(Order=1)
public AnalyticsReports result = null;
@DataMember(Order=2)
public ResponseStatus responseStatus = null;
public AnalyticsReports getResult() { return result; }
public GetAnalyticsReportsResponse setResult(AnalyticsReports value) { this.result = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public GetAnalyticsReportsResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
@DataContract
public static class AnalyticsReports
{
@DataMember(Order=1)
public Long id = null;
@DataMember(Order=2)
public Date created = null;
@DataMember(Order=3)
public BigDecimal version = null;
@DataMember(Order=4)
public HashMap<String,RequestSummary> apis = null;
@DataMember(Order=5)
public HashMap<String,RequestSummary> users = null;
@DataMember(Order=6)
public HashMap<String,RequestSummary> tags = null;
@DataMember(Order=7)
public HashMap<String,RequestSummary> status = null;
@DataMember(Order=8)
public HashMap<String,RequestSummary> days = null;
@DataMember(Order=9)
public HashMap<String,RequestSummary> apiKeys = null;
@DataMember(Order=10)
public HashMap<String,RequestSummary> ips = null;
@DataMember(Order=11)
public HashMap<String,RequestSummary> browsers = null;
@DataMember(Order=12)
public HashMap<String,RequestSummary> devices = null;
@DataMember(Order=13)
public HashMap<String,RequestSummary> bots = null;
@DataMember(Order=14)
public HashMap<String,Long> durations = null;
public Long getId() { return id; }
public AnalyticsReports setId(Long value) { this.id = value; return this; }
public Date getCreated() { return created; }
public AnalyticsReports setCreated(Date value) { this.created = value; return this; }
public BigDecimal getVersion() { return version; }
public AnalyticsReports setVersion(BigDecimal value) { this.version = value; return this; }
public HashMap<String,RequestSummary> getApis() { return apis; }
public AnalyticsReports setApis(HashMap<String,RequestSummary> value) { this.apis = value; return this; }
public HashMap<String,RequestSummary> getUsers() { return users; }
public AnalyticsReports setUsers(HashMap<String,RequestSummary> value) { this.users = value; return this; }
public HashMap<String,RequestSummary> getTags() { return tags; }
public AnalyticsReports setTags(HashMap<String,RequestSummary> value) { this.tags = value; return this; }
public HashMap<String,RequestSummary> getStatus() { return status; }
public AnalyticsReports setStatus(HashMap<String,RequestSummary> value) { this.status = value; return this; }
public HashMap<String,RequestSummary> getDays() { return days; }
public AnalyticsReports setDays(HashMap<String,RequestSummary> value) { this.days = value; return this; }
public HashMap<String,RequestSummary> getApiKeys() { return apiKeys; }
public AnalyticsReports setApiKeys(HashMap<String,RequestSummary> value) { this.apiKeys = value; return this; }
public HashMap<String,RequestSummary> getIps() { return ips; }
public AnalyticsReports setIps(HashMap<String,RequestSummary> value) { this.ips = value; return this; }
public HashMap<String,RequestSummary> getBrowsers() { return browsers; }
public AnalyticsReports setBrowsers(HashMap<String,RequestSummary> value) { this.browsers = value; return this; }
public HashMap<String,RequestSummary> getDevices() { return devices; }
public AnalyticsReports setDevices(HashMap<String,RequestSummary> value) { this.devices = value; return this; }
public HashMap<String,RequestSummary> getBots() { return bots; }
public AnalyticsReports setBots(HashMap<String,RequestSummary> value) { this.bots = value; return this; }
public HashMap<String,Long> getDurations() { return durations; }
public AnalyticsReports setDurations(HashMap<String,Long> value) { this.durations = value; return this; }
}
@DataContract
public static class RequestSummary
{
@DataMember(Order=1)
public String name = null;
@DataMember(Order=2)
public Long totalRequests = null;
@DataMember(Order=3)
public Long totalRequestLength = null;
@DataMember(Order=4)
public Long minRequestLength = null;
@DataMember(Order=5)
public Long maxRequestLength = null;
@DataMember(Order=6)
public Double totalDuration = null;
@DataMember(Order=7)
public Double minDuration = null;
@DataMember(Order=8)
public Double maxDuration = null;
@DataMember(Order=9)
public HashMap<Integer,Long> status = null;
@DataMember(Order=10)
public HashMap<String,Long> durations = null;
@DataMember(Order=11)
public HashMap<String,Long> apis = null;
@DataMember(Order=12)
public HashMap<String,Long> users = null;
@DataMember(Order=13)
public HashMap<String,Long> ips = null;
@DataMember(Order=14)
public HashMap<String,Long> apiKeys = null;
public String getName() { return name; }
public RequestSummary setName(String value) { this.name = value; return this; }
public Long getTotalRequests() { return totalRequests; }
public RequestSummary setTotalRequests(Long value) { this.totalRequests = value; return this; }
public Long getTotalRequestLength() { return totalRequestLength; }
public RequestSummary setTotalRequestLength(Long value) { this.totalRequestLength = value; return this; }
public Long getMinRequestLength() { return minRequestLength; }
public RequestSummary setMinRequestLength(Long value) { this.minRequestLength = value; return this; }
public Long getMaxRequestLength() { return maxRequestLength; }
public RequestSummary setMaxRequestLength(Long value) { this.maxRequestLength = value; return this; }
public Double getTotalDuration() { return totalDuration; }
public RequestSummary setTotalDuration(Double value) { this.totalDuration = value; return this; }
public Double getMinDuration() { return minDuration; }
public RequestSummary setMinDuration(Double value) { this.minDuration = value; return this; }
public Double getMaxDuration() { return maxDuration; }
public RequestSummary setMaxDuration(Double value) { this.maxDuration = value; return this; }
public HashMap<Integer,Long> getStatus() { return status; }
public RequestSummary setStatus(HashMap<Integer,Long> value) { this.status = value; return this; }
public HashMap<String,Long> getDurations() { return durations; }
public RequestSummary setDurations(HashMap<String,Long> value) { this.durations = value; return this; }
public HashMap<String,Long> getApis() { return apis; }
public RequestSummary setApis(HashMap<String,Long> value) { this.apis = value; return this; }
public HashMap<String,Long> getUsers() { return users; }
public RequestSummary setUsers(HashMap<String,Long> value) { this.users = value; return this; }
public HashMap<String,Long> getIps() { return ips; }
public RequestSummary setIps(HashMap<String,Long> value) { this.ips = value; return this; }
public HashMap<String,Long> getApiKeys() { return apiKeys; }
public RequestSummary setApiKeys(HashMap<String,Long> value) { this.apiKeys = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/GetAnalyticsReports HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
month: 0001-01-01,
filter: String,
value: String,
force: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { result: { id: 0, created: 0001-01-01, version: 0, apis: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, users: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, tags: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, status: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, days: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, apiKeys: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, ips: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, browsers: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, devices: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, bots: { String: { name: String, totalRequests: 0, totalRequestLength: 0, minRequestLength: 0, maxRequestLength: 0, totalDuration: 0, minDuration: 0, maxDuration: 0, status: { 0: 0 }, durations: { String: 0 }, apis: { String: 0 }, users: { String: 0 }, ips: { String: 0 }, apiKeys: { String: 0 } } }, durations: { String: 0 } }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }