PingServlet.java 2.19 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  javax.servlet.ServletOutputStream
 *  javax.servlet.http.HttpServlet
 *  javax.servlet.http.HttpServletRequest
 *  javax.servlet.http.HttpServletResponse
 */
package com.scene7.is.ps.provider.debug;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class PingServlet
extends HttpServlet {
    private static int overlapLevel = 0;
    private static int maxOverlap = 0;
    private final byte[] buffer = "The quick brown fox jumps over the lazy dog. 123456780\n".getBytes();

    public void init() {
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
        block7 : {
            try {
                int count;
                maxOverlap = Math.max(maxOverlap, ++overlapLevel);
                String query = req.getQueryString();
                int n = count = query == null ? 0 : Integer.parseInt(query);
                if (count > 1000) {
                    count = 1000;
                }
                if (count > 0) {
                    res.setContentType("text/plain");
                    res.setContentLength(count);
                    ServletOutputStream out = res.getOutputStream();
                    while (count > this.buffer.length) {
                        out.write(this.buffer);
                        count -= this.buffer.length;
                    }
                    out.write(this.buffer, 0, count);
                    break block7;
                }
                if (count < 0) {
                    res.setContentType("text/plain");
                    PrintWriter out = res.getWriter();
                    out.println("maxOverlap = " + maxOverlap);
                    maxOverlap = 0;
                    break block7;
                }
                res.getWriter().println("OK");
            }
            finally {
                --overlapLevel;
            }
        }
    }
}