public static Result fromRequest()

in src/main/java/org/apache/sling/graphql/core/servlet/QueryParser.java [84:111]


    public static Result fromRequest(@NotNull SlingHttpServletRequest request) throws IOException {
        String query = null;
        Map<String, Object> variables = null;
        if (request.getMethod().equalsIgnoreCase("POST") && isJsonContentType(request)) {
            try (JsonReader reader = Json.createReader(request.getReader())) {
                JsonObject input = reader.readObject();
                query = input.getString(JSON_KEY_QUERY);
                query = query.replace("\\n", "\n");
                if (input.containsKey(JSON_KEY_VARIABLES)) {
                    variables = MAPPER.readObject(input.get(JSON_KEY_VARIABLES), Map.class);
                }
            } catch (Exception e) {
                LOGGER.error("Invalid payload.", e);
            }
        }

        if (query == null) {
            query = request.getParameter(JSON_KEY_QUERY);
        }

        if (variables == null) {
            variables = Collections.emptyMap();
        }
        if (query != null) {
            return new Result(query, variables);
        }
        return null;
    }