private void prepare()

in src/main/java/org/apache/sling/servlets/post/AbstractPostResponse.java [282:318]


    private void prepare(final HttpServletResponse response, final boolean setStatus) {
        String path = getPath();
        if (getProperty(PN_STATUS_CODE) == null) {
            if (getError() != null) {
                setStatus(500, getError().toString());
                setTitle("Error while processing " + path);
            } else {
                if (isCreateRequest()) {
                    setStatus(201, "Created");
                    setTitle("Content created " + path);
                } else {
                    setStatus(200, "OK");
                    setTitle("Content modified " + path);
                }
            }
        }

        String referer = getReferer();
        if (referer == null) {
            referer = "";
        }
        setReferer(referer);

        if (setStatus) {
            Object status = getProperty(PN_STATUS_CODE);
            if (status instanceof Number) {
                int statusCode = ((Number) status).intValue();
                response.setStatus(statusCode);

                // special treatment of 201/CREATED and 3xx: Requires Location
                if (statusCode == HttpServletResponse.SC_CREATED || statusCode / 100 == 3) {
                    response.setHeader("Location", getLocation());
                }
            }
        }

    }