using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ServiceStack.Admin;
namespace ServiceStack.Admin
{
[DataContract]
public partial class AnalyticsLogInfo
{
[DataMember(Order=1)]
public virtual long Id { get; set; }
[DataMember(Order=2)]
public virtual DateTime DateTime { get; set; }
[DataMember(Order=3)]
public virtual string Browser { get; set; }
[DataMember(Order=4)]
public virtual string Device { get; set; }
[DataMember(Order=5)]
public virtual string Bot { get; set; }
[DataMember(Order=6)]
public virtual string Op { get; set; }
[DataMember(Order=7)]
public virtual string UserId { get; set; }
[DataMember(Order=8)]
public virtual string UserName { get; set; }
[DataMember(Order=9)]
public virtual string ApiKey { get; set; }
[DataMember(Order=10)]
public virtual string Ip { get; set; }
}
[DataContract]
public partial class GetAnalyticsInfo
: IGet
{
[DataMember(Order=1)]
public virtual DateTime? Month { get; set; }
[DataMember(Order=2)]
public virtual string Type { get; set; }
[DataMember(Order=3)]
public virtual string Op { get; set; }
[DataMember(Order=4)]
public virtual string ApiKey { get; set; }
[DataMember(Order=5)]
public virtual string UserId { get; set; }
[DataMember(Order=6)]
public virtual string Ip { get; set; }
}
[DataContract]
public partial class GetAnalyticsInfoResponse
{
[DataMember(Order=1)]
public virtual List<string> Months { get; set; }
[DataMember(Order=2)]
public virtual AnalyticsLogInfo Result { get; set; }
[DataMember(Order=3)]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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: test-do-services.klokgroep.nl
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Month":"0001-01-01T00:00:00.0000000","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.0000000","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"}}}