anchor.diff:  %% 	`GET /usageManagement/v1/usage/{id}'
   %% 	requests.
   get_usage("auth-" ++ _ = Id, [] = _Query) ->
  -	try
  -		["auth", TimeStamp, Serial] = string:tokens(Id, [$-]),
  -		TS = list_to_integer(TimeStamp),
  -		N = list_to_integer(Serial),
  -		Events = ocs_log:auth_query(TS, TS, '_', '_', '_', '_'),
  -		case lists:keyfind(N, 2, Events) of
  -			Event when is_tuple(Event) ->
  -				JsonObj = usage_aaa_auth(Event, []),
  -				{struct, Attr} = JsonObj,
  -				{_, Date} = lists:keyfind("date", 1, Attr),
  -				Body = mochijson:encode(JsonObj),
  -				Headers = [{content_type, "application/json"}, {last_modified, Date}],
  -				{ok, Headers, Body};
  -			_ ->
  -				{error, 404}
  -		end
  -	catch
  -		_:_Reason ->
  -			{error, 404}
  +	{ok, MaxItems} = application:get_env(ocs, rest_page_size),
  +	["auth", TimeStamp, Serial] = string:tokens(Id, [$-]),
  +	TS = list_to_integer(TimeStamp),
  +	N = list_to_integer(Serial),
  +	case query_auth(TS, TS, '_', '_', '_', '_', MaxItems) of
  +		{error, _} ->
  +			{error, 500};
  +		{_, Events} ->
  +			case lists:keyfind(N, 2, Events) of
  +				Event when is_tuple(Event) ->
  +					JsonObj = usage_aaa_auth(Event, []),
  +					Body = mochijson:encode(JsonObj),
  +					Headers = [{content_type, "application/json"}],
  +					{ok, Headers, Body};
  +				_ ->
  +					{error, 404}
  +			end
   	end;
   get_usage("acct-" ++ _ = Id, [] = _Query) ->
  -	try
  -		["acct", TimeStamp, Serial] = string:tokens(Id, [$-]),
  -		TS = list_to_integer(TimeStamp),
  -		N = list_to_integer(Serial),
  -		Events = ocs_log:acct_query(TS, TS, '_', '_', '_'),
  -		case lists:keyfind(N, 2, Events) of
  -			Event when is_tuple(Event) ->
  -				JsonObj = usage_aaa_acct(Event, []),
  -				{struct, Attr} = JsonObj,
  -				{_, Date} = lists:keyfind("date", 1, Attr),
  -				Body = mochijson:encode(JsonObj),
  -				Headers = [{content_type, "application/json"}, {last_modified, Date}],
  -				{ok, Headers, Body};
  -			_ ->
  -				{error, 404}
  -		end
  -	catch
  -		_:_Reason ->
  -			{error, 404}
  +	{ok, MaxItems} = application:get_env(ocs, rest_page_size),
  +	["acct", TimeStamp, Serial] = string:tokens(Id, [$-]),
  +	TS = list_to_integer(TimeStamp),
  +	N = list_to_integer(Serial),
  +	case query_acct(TS, TS, '_', '_', '_', MaxItems) of
  +		{error, _} ->
  +			{error, 500};
  +		{_, Events} ->
  +			case lists:keyfind(N, 2, Events) of
  +				Event when is_tuple(Event) ->
  +					JsonObj = usage_aaa_acct(Event, []),
  +					Body = mochijson:encode(JsonObj),
  +					Headers = [{content_type, "application/json"}],
  +					{ok, Headers, Body};
  +				_ ->
  +					{error, 404}
  +			end
   	end;
   get_usage(Id, [] = _Query) ->
   erlang:display({?MODULE, ?LINE, Id, _Query}),
  
positive.code: 
  %% @hidden
  get_auth_query([] = _Query, Filters) ->
  	{ok, _MaxItems} = application:get_env(ocs, rest_page_size),
  	case ocs_log:auth_query(1, 1, '_', '_', '_', '_') of
  		[] ->
  			{error, 404};
  		Events ->
  			JsonObj = usage_aaa_auth(Events, Filters),
  			JsonArray = {array, JsonObj},
  			Body = mochijson:encode(JsonArray),
  			N = integer_to_list(length(Events)),
  			ContentRange = "items 1-" ++ N ++ "/" ++ N,
  			Headers = [{content_type, "application/json"},
  					{content_range, ContentRange}],
  
negative.code: -include_lib("radius/include/radius.hrl").
  -include("ocs_log.hrl").
  
  %% support deprecated_time_unit()
  -define(MILLISECOND, milli_seconds).
  %-define(MILLISECOND, millisecond).
  
  -spec content_types_accepted() -> ContentTypes
  	when
  		ContentTypes :: list().
  