@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(clientId); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof GetFilterRequest); GetFilterRequest filterRequest = (GetFilterRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "GET_FILTER") .wrapArround(() -> process(clientId, mailboxSession, filterRequest))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(clientId); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof SetVacationRequest); SetVacationRequest setVacationRequest = (SetVacationRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "SET_VACATION") .addContext("update", setVacationRequest.getUpdate()) .wrapArround( () -> process(clientId, mailboxSession, setVacationRequest))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(clientId); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof SetFilterRequest); SetFilterRequest setFilterRequest = (SetFilterRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "SET_FILTER") .addContext("update", setFilterRequest.getSingleton()) .wrapArround( () -> process(clientId, mailboxSession, setFilterRequest))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(clientId); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof GetVacationRequest); return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "VACATION") .wrapArround( () -> Stream.of(JmapResponse.builder() .clientId(clientId) .responseName(RESPONSE_NAME) .response(process(mailboxSession)) .build()))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(clientId); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof SetMailboxesRequest); SetMailboxesRequest setMailboxesRequest = (SetMailboxesRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "SET_MAILBOXES") .addContext("create", setMailboxesRequest.getCreate()) .addContext("update", setMailboxesRequest.getUpdate()) .addContext("destroy", setMailboxesRequest.getDestroy()) .wrapArround( () -> Stream.of( JmapResponse.builder().clientId(clientId) .response(setMailboxesResponse(setMailboxesRequest, mailboxSession)) .responseName(RESPONSE_NAME) .build()))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkArgument(request instanceof GetMailboxesRequest); GetMailboxesRequest mailboxesRequest = (GetMailboxesRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "GET_MAILBOXES") .addContext("accountId", mailboxesRequest.getAccountId()) .addContext("mailboxIds", mailboxesRequest.getIds()) .addContext("properties", mailboxesRequest.getProperties()) .wrapArround(() -> process(clientId, mailboxSession, mailboxesRequest))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkNotNull(request); Preconditions.checkNotNull(mailboxSession); Preconditions.checkArgument(request instanceof GetMessagesRequest); GetMessagesRequest getMessagesRequest = (GetMessagesRequest) request; MessageProperties outputProperties = getMessagesRequest.getProperties().toOutputProperties(); return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "GET_MESSAGES") .addContext("accountId", getMessagesRequest.getAccountId()) .addContext("ids", getMessagesRequest.getIds()) .addContext("properties", getMessagesRequest.getProperties()) .wrapArround( () -> Stream.of(JmapResponse.builder().clientId(clientId) .response(getMessagesResponse(mailboxSession, getMessagesRequest)) .responseName(RESPONSE_NAME) .properties(outputProperties.getOptionalMessageProperties()) .filterProvider(buildOptionalHeadersFilteringFilterProvider(outputProperties)) .build()))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkArgument(request instanceof SetMessagesRequest); SetMessagesRequest setMessagesRequest = (SetMessagesRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "SET_MESSAGES") .addContext("accountId", setMessagesRequest.getAccountId()) .addContext("create", setMessagesRequest.getCreate()) .addContext("destroy", setMessagesRequest.getDestroy()) .addContext("ifInState", setMessagesRequest.getIfInState()) .wrapArround( () -> Stream.of( JmapResponse.builder().clientId(clientId) .response(setMessagesResponse(setMessagesRequest, mailboxSession)) .responseName(RESPONSE_NAME) .build()))); }
@Override public Stream<JmapResponse> process(JmapRequest request, ClientId clientId, MailboxSession mailboxSession) { Preconditions.checkArgument(request instanceof GetMessageListRequest); GetMessageListRequest messageListRequest = (GetMessageListRequest) request; return metricFactory.runPublishingTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(), MDCBuilder.create() .addContext(MDCBuilder.ACTION, "GET_MESSAGE_LIST") .addContext("accountId", messageListRequest.getAccountId()) .addContext("limit", messageListRequest.getLimit()) .addContext("anchor", messageListRequest.getAnchor()) .addContext("offset", messageListRequest.getAnchorOffset()) .addContext("properties", messageListRequest.getFetchMessageProperties()) .addContext("position", messageListRequest.getPosition()) .addContext("filters", messageListRequest.getFilter()) .addContext("sorts", messageListRequest.getSort()) .addContext("isFetchMessage", messageListRequest.isFetchMessages()) .addContext("isCollapseThread", messageListRequest.isCollapseThreads()) .wrapArround( () -> process(clientId, mailboxSession, messageListRequest))); }