
org.whispersystems.websocket.messages.protobuf.ProtobufWebSocketResponseMessage Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of websocket-resources Show documentation
Show all versions of websocket-resources Show documentation
A Dropwizard library that lets you use Jersey-style Resources over WebSockets
/*
* Copyright (C) 2014 Open WhisperSystems
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package org.whispersystems.websocket.messages.protobuf;
import org.whispersystems.websocket.messages.WebSocketResponseMessage;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class ProtobufWebSocketResponseMessage implements WebSocketResponseMessage {
private final SubProtocol.WebSocketResponseMessage message;
public ProtobufWebSocketResponseMessage(SubProtocol.WebSocketResponseMessage message) {
this.message = message;
}
@Override
public long getRequestId() {
return message.getId();
}
@Override
public int getStatus() {
return message.getStatus();
}
@Override
public String getMessage() {
return message.getMessage();
}
@Override
public Optional getBody() {
if (message.hasBody()) {
return Optional.of(message.getBody().toByteArray());
} else {
return Optional.empty();
}
}
@Override
public Map getHeaders() {
Map results = new HashMap<>();
for (String header : message.getHeadersList()) {
String[] tokenized = header.split(":");
if (tokenized.length == 2 && tokenized[0] != null && tokenized[1] != null) {
results.put(tokenized[0].trim().toLowerCase(), tokenized[1].trim());
}
}
return results;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy