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; }