🤬
  • ■ ■ ■ ■ ■ ■
    common/src/main/java/com/google/tsunami/common/net/FuzzingUtils.java
    skipped 52 lines
    53 53   private static ImmutableList<HttpRequest> fuzzGetParameters(
    54 54   HttpRequest request, String payload, Optional<String> defaultParameter) {
    55 55   URI parsedUrl = URI.create(request.url());
    56  - ImmutableList<HttpQueryParams> queryParams = parseQuery(parsedUrl.getQuery());
     56 + ImmutableList<HttpQueryParameter> queryParams = parseQuery(parsedUrl.getQuery());
    57 57   if (queryParams.isEmpty() && defaultParameter.isPresent()) {
    58 58   return ImmutableList.of(
    59 59   request.toBuilder()
    60 60   .setUrl(
    61 61   assembleUrlWithQueries(
    62 62   parsedUrl,
    63  - ImmutableList.of(HttpQueryParams.create(defaultParameter.get(), payload))))
     63 + ImmutableList.of(HttpQueryParameter.create(defaultParameter.get(), payload))))
    64 64   .build());
    65 65   }
    66 66   return fuzzParams(queryParams, payload).stream()
    skipped 2 lines
    69 69   .collect(toImmutableList());
    70 70   }
    71 71   
    72  - private static ImmutableSet<ImmutableList<HttpQueryParams>> fuzzParams(
    73  - ImmutableList<HttpQueryParams> params, String payload) {
    74  - ImmutableSet.Builder<ImmutableList<HttpQueryParams>> fuzzedParamsbuilder =
     72 + private static ImmutableSet<ImmutableList<HttpQueryParameter>> fuzzParams(
     73 + ImmutableList<HttpQueryParameter> params, String payload) {
     74 + ImmutableSet.Builder<ImmutableList<HttpQueryParameter>> fuzzedParamsbuilder =
    75 75   ImmutableSet.builder();
    76 76   
    77 77   for (int i = 0; i < params.size(); i++) {
    78  - List<HttpQueryParams> paramsWithPayload = new ArrayList<>(params);
    79  - paramsWithPayload.set(i, HttpQueryParams.create(params.get(i).name(), payload));
     78 + List<HttpQueryParameter> paramsWithPayload = new ArrayList<>(params);
     79 + paramsWithPayload.set(i, HttpQueryParameter.create(params.get(i).name(), payload));
    80 80   fuzzedParamsbuilder.add(ImmutableList.copyOf(paramsWithPayload));
    81 81   }
    82 82   
    83 83   return fuzzedParamsbuilder.build();
    84 84   }
    85 85   
    86  - private static ImmutableList<HttpQueryParams> parseQuery(String query) {
     86 + public static ImmutableList<HttpQueryParameter> parseQuery(String query) {
    87 87   if (isNullOrEmpty(query)) {
    88 88   return ImmutableList.of();
    89 89   }
    90  - ImmutableList.Builder<HttpQueryParams> queryParamsBuilder = ImmutableList.builder();
     90 + ImmutableList.Builder<HttpQueryParameter> queryParamsBuilder = ImmutableList.builder();
    91 91   for (String param : Splitter.on('&').split(query)) {
    92 92   int equalPosition = param.indexOf("=");
    93 93   if (equalPosition > -1) {
    94 94   String name = param.substring(0, equalPosition);
    95 95   String value = param.substring(equalPosition + 1);
    96  - queryParamsBuilder.add(HttpQueryParams.create(name, value));
     96 + queryParamsBuilder.add(HttpQueryParameter.create(name, value));
    97 97   } else {
    98  - queryParamsBuilder.add(HttpQueryParams.create(param, ""));
     98 + queryParamsBuilder.add(HttpQueryParameter.create(param, ""));
    99 99   }
    100 100   }
    101 101   return queryParamsBuilder.build();
    102 102   }
    103 103   
    104 104   private static String assembleUrlWithQueries(
    105  - URI parsedUrl, ImmutableList<HttpQueryParams> params) {
     105 + URI parsedUrl, ImmutableList<HttpQueryParameter> params) {
    106 106   String query = assembleQueryParams(params);
    107 107   StringBuilder urlBuilder = new StringBuilder();
    108 108   urlBuilder.append(parsedUrl.getScheme()).append("://").append(parsedUrl.getRawAuthority());
    skipped 9 lines
    118 118   return urlBuilder.toString();
    119 119   }
    120 120   
    121  - private static String assembleQueryParams(ImmutableList<HttpQueryParams> params) {
     121 + private static String assembleQueryParams(ImmutableList<HttpQueryParameter> params) {
    122 122   return params.stream()
    123 123   .map(param -> String.format("%s=%s", param.name(), param.value()))
    124 124   .collect(joining("&"));
    125 125   }
    126 126   
     127 + /** URL Query parameter name and value pair. */
    127 128   @AutoValue
    128  - abstract static class HttpQueryParams {
    129  - abstract String name();
     129 + public abstract static class HttpQueryParameter {
     130 + public abstract String name();
    130 131   
    131  - abstract String value();
     132 + public abstract String value();
    132 133   
    133  - public static HttpQueryParams create(String name, String value) {
    134  - return new AutoValue_FuzzingUtils_HttpQueryParams(name, value);
     134 + public static HttpQueryParameter create(String name, String value) {
     135 + return new AutoValue_FuzzingUtils_HttpQueryParameter(name, value);
    135 136   }
    136 137   }
    137 138   
    skipped 3 lines
Please wait...
Page is in error, reload to recover