anchor.diff:      Else ->
           throw({bad_ctype, [Else, " is not a supported content encoding."]})
       end.
  +
  +log_stack_trace(Stack) ->
  +    couch_log:error("~p failed with trace: ~p", [stack_hash(Stack), Stack]).
  +
  +stack_trace_id(Stack) ->
  +    {"X-Cloudant-Stack-Hash", stack_hash(Stack)}.
  +
  +stack_hash(Stack) ->
  +    erlang:crc32(term_to_binary(Stack)).
  
positive.code:     send_chunk(Resp, []);
  
  send_chunked_error(Resp, Error) ->
      {Code, ErrorStr, ReasonStr} = error_info(Error),
      JsonError = {[{<<"code">>, Code},
          {<<"error">>,  ErrorStr},
          {<<"reason">>, ReasonStr} |
          case json_stack(Error) of [] -> []; Stack -> [{stack, Stack}] end
      ]},
      send_chunk(Resp, ?l2b([$\n,?JSON_ENCODE(JsonError),$\n])),
      send_chunk(Resp, []).
  
negative.code:     {Code, ErrorStr, ReasonStr} = error_info(Reason),
      send_error(Req, Code, ErrorStr, ReasonStr);
  send_delayed_error(#delayed_resp{resp=Resp}, Reason) ->
      log_stack_trace(json_stack(Reason)),
      throw({http_abort, Resp, Reason}).
  
  end_delayed_json_response(#delayed_resp{}=DelayedResp) ->
  