Search in sources :

Example 1 with BulkLookupRequest

use of io.kamax.mxisd.lookup.BulkLookupRequest in project mxisd by kamax-io.

the class BulkLookupHandler method handleRequest.

@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {
    ClientBulkLookupRequest input = parseJsonTo(exchange, ClientBulkLookupRequest.class);
    BulkLookupRequest lookupRequest = new BulkLookupRequest();
    setRequesterInfo(lookupRequest, exchange);
    log.info("Got bulk lookup request from {} with client {} - Is recursive? {}", lookupRequest.getRequester(), lookupRequest.getUserAgent(), lookupRequest.isRecursive());
    List<ThreePidMapping> mappings = new ArrayList<>();
    for (List<String> mappingRaw : input.getThreepids()) {
        ThreePidMapping mapping = new ThreePidMapping();
        mapping.setMedium(mappingRaw.get(0));
        mapping.setValue(mappingRaw.get(1));
        mappings.add(mapping);
    }
    lookupRequest.setMappings(mappings);
    ClientBulkLookupAnswer answer = new ClientBulkLookupAnswer();
    answer.addAll(strategy.find(lookupRequest).get());
    log.info("Finished bulk lookup request from {}", lookupRequest.getRequester());
    respondJson(exchange, answer);
}
Also used : ThreePidMapping(io.kamax.mxisd.lookup.ThreePidMapping) BulkLookupRequest(io.kamax.mxisd.lookup.BulkLookupRequest) ClientBulkLookupRequest(io.kamax.mxisd.http.io.identity.ClientBulkLookupRequest) ClientBulkLookupRequest(io.kamax.mxisd.http.io.identity.ClientBulkLookupRequest) ArrayList(java.util.ArrayList) ClientBulkLookupAnswer(io.kamax.mxisd.http.io.identity.ClientBulkLookupAnswer)

Aggregations

ClientBulkLookupAnswer (io.kamax.mxisd.http.io.identity.ClientBulkLookupAnswer)1 ClientBulkLookupRequest (io.kamax.mxisd.http.io.identity.ClientBulkLookupRequest)1 BulkLookupRequest (io.kamax.mxisd.lookup.BulkLookupRequest)1 ThreePidMapping (io.kamax.mxisd.lookup.ThreePidMapping)1 ArrayList (java.util.ArrayList)1