| GET | /devops/api/caches/{location}/stats |
|---|
import 'package:servicestack/servicestack.dart';
// @Flags()
class CacheResult
{
static const CacheResult None = const CacheResult._(0);
static const CacheResult Miss = const CacheResult._(1);
static const CacheResult Hit = const CacheResult._(2);
static const CacheResult Put = const CacheResult._(4);
static const CacheResult Deleted = const CacheResult._(8);
static const CacheResult Cleared = const CacheResult._(16);
static const CacheResult Added = const CacheResult._(32);
static const CacheResult Updated = const CacheResult._(64);
static const CacheResult Unavailable = const CacheResult._(128);
static const CacheResult Expired = const CacheResult._(256);
final int _value;
const CacheResult._(this._value);
int get value => _value;
static List<CacheResult> get values => const [None,Miss,Hit,Put,Deleted,Cleared,Added,Updated,Unavailable,Expired];
}
class CacheLocation
{
static const CacheLocation None = const CacheLocation._(0);
static const CacheLocation OutOfProcess = const CacheLocation._(1);
static const CacheLocation InProcess = const CacheLocation._(2);
static const CacheLocation InContext = const CacheLocation._(3);
final int _value;
const CacheLocation._(this._value);
int get value => _value;
static List<CacheLocation> get values => const [None,OutOfProcess,InProcess,InContext];
}
class CacheKey implements IConvertible
{
String? Region;
String? BaseKey;
String? Key;
int? ExpirationSeconds;
CacheKey({this.Region,this.BaseKey,this.Key,this.ExpirationSeconds});
CacheKey.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Region = json['Region'];
BaseKey = json['BaseKey'];
Key = json['Key'];
ExpirationSeconds = json['ExpirationSeconds'];
return this;
}
Map<String, dynamic> toJson() => {
'Region': Region,
'BaseKey': BaseKey,
'Key': Key,
'ExpirationSeconds': ExpirationSeconds
};
getTypeName() => "CacheKey";
TypeContext? context = _ctx;
}
abstract class CacheResultBase
{
CacheResult? Result;
CacheLocation? Location;
CacheKey? Key;
CacheResultBase({this.Result,this.Location,this.Key});
CacheResultBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Result = JsonConverters.fromJson(json['Result'],'CacheResult',context!);
Location = JsonConverters.fromJson(json['Location'],'CacheLocation',context!);
Key = JsonConverters.fromJson(json['Key'],'CacheKey',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Result': JsonConverters.toJson(Result,'CacheResult',context!),
'Location': JsonConverters.toJson(Location,'CacheLocation',context!),
'Key': JsonConverters.toJson(Key,'CacheKey',context!)
};
getTypeName() => "CacheResultBase";
TypeContext? context = _ctx;
}
class CacheStat implements IConvertible
{
String? Name;
String? Value;
CacheStat({this.Name,this.Value});
CacheStat.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Value': Value
};
getTypeName() => "CacheStat";
TypeContext? context = _ctx;
}
class CacheStatResult extends CacheResultBase implements IConvertible
{
List<CacheStat>? Statistics;
bool? IsHit;
CacheStatResult({this.Statistics,this.IsHit});
CacheStatResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Statistics = JsonConverters.fromJson(json['Statistics'],'List<CacheStat>',context!);
IsHit = json['IsHit'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Statistics': JsonConverters.toJson(Statistics,'List<CacheStat>',context!),
'IsHit': IsHit
});
getTypeName() => "CacheStatResult";
TypeContext? context = _ctx;
}
class CacheStatsRs implements IConvertible
{
CacheStatResult? Statistics;
CacheStatsRs({this.Statistics});
CacheStatsRs.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Statistics = JsonConverters.fromJson(json['Statistics'],'CacheStatResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Statistics': JsonConverters.toJson(Statistics,'CacheStatResult',context!)
};
getTypeName() => "CacheStatsRs";
TypeContext? context = _ctx;
}
class CacheStatsRq implements IConvertible
{
String? location;
CacheStatsRq({this.location});
CacheStatsRq.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
location = json['location'];
return this;
}
Map<String, dynamic> toJson() => {
'location': location
};
getTypeName() => "CacheStatsRq";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
'CacheResult': TypeInfo(TypeOf.Enum, enumValues:CacheResult.values),
'CacheLocation': TypeInfo(TypeOf.Enum, enumValues:CacheLocation.values),
'CacheKey': TypeInfo(TypeOf.Class, create:() => CacheKey()),
'CacheResultBase': TypeInfo(TypeOf.AbstractClass),
'CacheStat': TypeInfo(TypeOf.Class, create:() => CacheStat()),
'CacheStatResult': TypeInfo(TypeOf.Class, create:() => CacheStatResult()),
'List<CacheStat>': TypeInfo(TypeOf.Class, create:() => <CacheStat>[]),
'CacheStatsRs': TypeInfo(TypeOf.Class, create:() => CacheStatsRs()),
'CacheStatsRq': TypeInfo(TypeOf.Class, create:() => CacheStatsRq()),
});
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.
GET /devops/api/caches/{location}/stats HTTP/1.1
Host: devapi.billhighway.com
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Statistics":{"Statistics":[{"Name":"String","Value":"String"}],"IsHit":false,"Result":0,"Location":0}}