public static Observable<Boolean> writeDebugMessage(
            SessionContext context, ZuulMessage msg, String prefix, String arrow) {
        Observable<Boolean> obs = null;

        for (Header header : msg.getHeaders().entries()) {
            Debug.addRequestDebug(
                    context, String.format("%s:: %s HDR: %s:%s", prefix, arrow, header.getKey(), header.getValue()));
        }

        // Capture the response body into a Byte array for later usage.
        if (msg.hasBody()) {
            if (!Debug.debugRequestHeadersOnly(context)) {
                // Convert body to a String and add to debug log.
                String body = msg.getBodyAsText();
                Debug.addRequestDebug(context, String.format("%s:: %s BODY: %s", prefix, arrow, body));
            }
        }

        if (obs == null) {
            obs = Observable.just(Boolean.FALSE);
        }

        return obs;
    }
Adds debug details about changes that a given filter made to the request context.
@param filterName
@param copy
zuul-core/src/main/java/com/netflix/zuul/context/Debug.java