public static Options getOptions()

in httpcore5-testing/src/main/java/org/apache/hc/core5/benchmark/CommandLineUtils.java [48:141]


    public static Options getOptions() {
        final Option nopt = new Option("n", true, "Number of requests to perform. " +
                "The default is to just perform a single request which may lead " +
                "to non-representative benchmarking results");
        nopt.setRequired(false);
        nopt.setArgName("requests");

        final Option copt = new Option("c", true, "Number of multiple requests to make at a time. " +
                "The default is to just execute a single request");
        copt.setRequired(false);
        copt.setArgName("concurrency");

        final Option topt = new Option("t", true, "Seconds to max. to spend on benchmarking");
        topt.setRequired(false);
        topt.setArgName("time-limit");

        final Option sopt = new Option("s", true, "Seconds to max. wait for each response. Default is 60 seconds");
        sopt.setRequired(false);
        sopt.setArgName("socket-Timeout");

        final Option popt = new Option("p", true, "File containing data to enclose in the request");
        popt.setRequired(false);
        popt.setArgName("Payload file");

        final Option Topt = new Option("T", true, "Content-type header to use for enclosed request data");
        Topt.setRequired(false);
        Topt.setArgName("content-type");

        final Option vopt = new Option("v", true, "Set verbosity level: " +
                "1 prints warnings and errors, " +
                "2 prints response codes, " +
                "3 prints message headers, " +
                "4 prints HTTP/2 frame info, " +
                "5 prints HTTP/2 flow control events, " +
                "6 prints response content");
        vopt.setRequired(false);
        vopt.setArgName("verbosity");

        final Option iopt = new Option("i", false, "Use HEAD instead of GET");
        iopt.setRequired(false);

        final Option Hopt = new Option("H", true, "Add arbitrary header line, " +
                "eg. 'Accept-Encoding: gzip' inserted after all normal " +
                "header lines. (repeatable as -H \"h1: v1\",\"h2: v2\" etc)");
        Hopt.setRequired(false);
        Hopt.setArgName("header");

        final Option kopt = new Option("k", false, "Use HTTP KeepAlive feature. Default is no KeepAlive");
        kopt.setRequired(false);

        final Option mopt = new Option("m", true, "HTTP Method. Default is GET or POST if the request to enclose data");
        mopt.setRequired(false);
        mopt.setArgName("HTTP method");

        // HttpCore specific options

        final Option uopt = new Option("u", false, "Chunk entity. Default is false");
        uopt.setRequired(false);

        final Option xopt = new Option("x", false, "Use Expect-Continue. Default is false");
        xopt.setRequired(false);

        final Option gopt = new Option("g", false, "Accept GZip. Default is false");
        gopt.setRequired(false);

        final Option http2opt = new Option("2", false, "Force HTTP/2");
        gopt.setRequired(false);

        final Option hopt = new Option("h", false, "Display usage information");
        nopt.setRequired(false);

        final Options options = new Options();
        options.addOption(nopt);
        options.addOption(copt);
        options.addOption(topt);
        options.addOption(sopt);
        options.addOption(popt);
        options.addOption(Topt);
        options.addOption(vopt);
        options.addOption(iopt);
        options.addOption(Hopt);
        options.addOption(kopt);
        options.addOption(mopt);

        // HttpCore specific options

        options.addOption(uopt);
        options.addOption(xopt);
        options.addOption(gopt);
        options.addOption(http2opt);

        options.addOption(hopt);
        return options;
    }