anchor.diff:                 ]
                 }]).
   
  +encode_zone_records_to_json(_ZoneName, RecordName, Encoders) ->
  +  Records = erldns_zone_cache:get_typed_records_by_name(RecordName),
  +  jsx:encode(lists:filter(record_filter(), lists:map(encode(Encoders), Records))).
  +
  +encode_zone_records_to_json(_ZoneName, RecordName, RecordType, Encoders) ->
  +  Records = erldns_zone_cache:get_records_by_name_and_type(RecordName, erldns_records:name_type(RecordType)),
  +  jsx:encode(lists:filter(record_filter(), lists:map(encode(Encoders), Records))).
  +
   record_filter() ->
     fun(R) ->
         case R of
  
positive.code:   end.
  
  encode_record(Record, Encoders) ->
    lager:debug("Encoding record (record: ~p)", [Record]),
    case encode_record(Record) of
      [] ->
        lager:debug("Trying custom encoders (encoders: ~p)", [Encoders]),
        try_custom_encoders(Record, Encoders);
      EncodedRecord -> EncodedRecord
    end.
  
negative.code: 
  % Internal API
  
  encode_zone_to_json(Zone, Encoders) ->
    Records = records_to_json(Zone, Encoders),
    FilteredRecords = lists:filter(record_filter(), Records),
    jsx:encode([{<<"erldns">>,
  