private static List<ArgumentDefinition> parseArgs( Map<ParameterName, com.palantir.conjure.parser.services.ArgumentDefinition> args, HttpPath httpPath, ReferenceTypeResolver typeResolver) { ImmutableList.Builder<ArgumentDefinition> resultBuilder = ImmutableList.builder(); for (Map.Entry<com.palantir.conjure.parser.services.ParameterName, com.palantir.conjure.parser.services.ArgumentDefinition> entry : args.entrySet()) { com.palantir.conjure.parser.services.ArgumentDefinition original = entry.getValue(); ArgumentName argName = ArgumentName.of(entry.getKey().name()); ParameterType paramType = parseParameterType(original, argName, httpPath); ArgumentDefinition.Builder builder = ArgumentDefinition.builder() .argName(argName) .type(original.type().visit(new ConjureTypeParserVisitor(typeResolver))) .paramType(paramType) .docs(original.docs().map(Documentation::of)) .markers(parseMarkers(original.markers(), typeResolver)); resultBuilder.add(builder.build()); } return resultBuilder.build(); }
private static EndpointDefinition parseEndpoint( String name, com.palantir.conjure.parser.services.EndpointDefinition def, PathString basePath, Optional<AuthType> defaultAuth, ReferenceTypeResolver typeResolver, DealiasingTypeVisitor dealiasingVisitor) { HttpPath httpPath = parseHttpPath(def, basePath); EndpointDefinition endpoint = EndpointDefinition.builder() .endpointName(EndpointName.of(name)) .httpMethod(HttpMethod.valueOf(def.http().method())) .httpPath(httpPath) .auth(def.auth().map(ConjureParserUtils::parseAuthType).orElse(defaultAuth)) .args(parseArgs(def.args(), httpPath, typeResolver)) .markers(parseMarkers(def.markers(), typeResolver)) .returns(def.returns().map(t -> t.visit(new ConjureTypeParserVisitor(typeResolver)))) .docs(def.docs().map(Documentation::of)) .deprecated(def.deprecated().map(Documentation::of)) .build(); EndpointDefinitionValidator.validateAll(endpoint, dealiasingVisitor); return endpoint; }