本文整理了Java中org.eclipse.californium.core.coap.Response
类的一些代码示例,展示了Response
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Response
类的具体详情如下:
包路径:org.eclipse.californium.core.coap.Response
类名称:Response
[英]Response represents a CoAP response to a CoAP request.
A response is either a piggy-backed response of type ACK or a separate response of type CON or NON. Each response carries a ( CoAP.ResponseCode) indicating the outcome of the request it is the response for.
[中]Response表示CoAP对CoAP请求的响应。
响应可以是ACK类型的背驮响应,也可以是CON或NON类型的单独响应。每个响应都带有一个(CoAP.ResponseCode),指示它作为响应的请求的结果。
代码示例来源:origin: eclipse/californium
if (response.getOptions().hasObserve()) {
block = new Response(response.getCode());
block.setDestination(response.getDestination());
block.setDestinationPort(response.getDestinationPort());
block.setOptions(new OptionSet(response.getOptions()));
block.addMessageObserver(new TimeoutForwarder(response));
int payloadsize = response.getPayloadSize();
int currentSize = 1 << (4 + szx);
int from = num * currentSize;
int to = Math.min((num + 1) * currentSize, response.getPayloadSize());
int length = to - from;
byte[] blockPayload = new byte[length];
boolean m = (to < response.getPayloadSize());
block.getOptions().setBlock2(szx, m, num);
System.arraycopy(response.getPayload(), from, blockPayload, 0, length);
block.setPayload(blockPayload);
block.setLast(!m && !response.getOptions().hasObserve());
block.getOptions().setBlock2(szx, false, num);
block.setLast(true);
status.setComplete(true);
代码示例来源:origin: eclipse/californium
protected boolean checkResponse(Request request, Response response) {
boolean success = true;
success &= checkType(Type.ACK, response.getType());
success &= checkInt(EXPECTED_RESPONSE_CODE.value, response.getCode().value, "code");
success &= checkOption(MediaTypeRegistry.APPLICATION_LINK_FORMAT, response.getOptions().getContentFormat(), "Content-Format");
success &= checkDiscoveryAttributes(EXPECTED_IF, response.getPayloadString());
return success;
}
}
代码示例来源:origin: eclipse/leshan
public CoapMessage(Response request, boolean incoming) {
this(incoming, request.getType(), request.getMID(), request.getTokenString(), request.getOptions(), request
.getPayload());
this.code = request.getCode().toString();
}
代码示例来源:origin: eclipse/californium
@Override
public String toString() {
String payload = getPayloadTracingString();
return String.format("%s-%-6s MID=%5d, Token=%s, OptionSet=%s, %s", getType(), getCode(), getMID(), getTokenString(), getOptions(), payload);
}
代码示例来源:origin: sitewhere/sitewhere
/**
* Send an error response on the given exchange.
*
* @param code
* @param message
* @param exchange
*/
protected void createAndSendResponse(ResponseCode code, String message, Exchange exchange) {
Response response = new Response(code);
response.setPayload(message);
exchange.sendResponse(response);
}
代码示例来源:origin: eclipse/californium
@Override
public void handleGET(CoapExchange exchange) {
String payload = "Available commands:\n - GET: show statistics\n - POST write stats to file\n - DELETE: reset statistics\n\n";
payload += getStatString();
Response response = new Response(ResponseCode.CONTENT);
response.setPayload(payload);
response.getOptions().setContentFormat(MediaTypeRegistry.TEXT_PLAIN);
exchange.respond(response);
}
代码示例来源:origin: eclipse/californium
ResponseCode status = incomingResponse.getCode();
Response outgoingResponse = new Response(status);
byte[] payload = incomingResponse.getPayload();
outgoingResponse.setPayload(payload);
long timestamp = incomingResponse.getTimestamp();
outgoingResponse.setTimestamp(timestamp);
outgoingResponse.setOptions(new OptionSet(
incomingResponse.getOptions()));
代码示例来源:origin: org.eclipse.californium/californium-core
if (response.getType()!=Type.ACK) {
LOGGER.finer("Rejecting blockwise transfer for canceled Exchange");
EmptyMessage rst = EmptyMessage.newRST(response);
if (!response.getOptions().hasBlock1() && !response.getOptions().hasBlock2()) {
if (response.getOptions().hasBlock1()) {
BlockOption block1 = response.getOptions().getBlock1();
LOGGER.log(Level.FINER, "Response acknowledges block {0}", block1);
nextBlock.setToken(response.getToken());
} else if (!response.getOptions().hasBlock2()) {
if (response.getOptions().hasBlock2()) {
BlockOption block2 = response.getOptions().getBlock2();
BlockwiseStatus status = findResponseBlockStatus(exchange, response);
if (response.getOptions().hasObserve() && block2.getNum()==0 && status.getCurrentNum()!=0) {
if (response.getOptions().getObserve()>status.getObserve()) {
if (block2.getNum() == status.getCurrentNum() && (block2.getNum()==0 || Arrays.equals(response.getToken(), exchange.getCurrentRequest().getToken()))) {
status.addBlock(response.getPayload());
if (response.getOptions().hasObserve()) {
代码示例来源:origin: eclipse/californium
@Test public void testUTF8Encoding() {
Response response = new Response(ResponseCode.CONTENT);
response.setType(Type.NON);
response.setMID(expectedMid);
response.setToken(new byte[] {});
response.getOptions().addLocationPath("ᚠᛇᚻ᛫ᛒᛦᚦ᛫ᚠᚱᚩᚠᚢᚱ᛫ᚠᛁᚱᚪ᛫ᚷᛖᚻᚹᛦᛚᚳᚢᛗ").addLocationPath("γλώσσα")
.addLocationPath("пустынных").addLocationQuery("ვეპხის=யாமறிந்த").addLocationQuery("⠊⠀⠉⠁⠝=⠑⠁⠞⠀⠛⠇⠁⠎⠎");
response.setPayload("⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑");
RawData rawData = serializer.serializeResponse(response);
Response result = (Response) parser.parseMessage(rawData);
assertEquals("ᚠᛇᚻ᛫ᛒᛦᚦ᛫ᚠᚱᚩᚠᚢᚱ᛫ᚠᛁᚱᚪ᛫ᚷᛖᚻᚹᛦᛚᚳᚢᛗ/γλώσσα/пустынных", response.getOptions().getLocationPathString());
assertEquals("ვეპხის=யாமறிந்த&⠊⠀⠉⠁⠝=⠑⠁⠞⠀⠛⠇⠁⠎⠎", response.getOptions().getLocationQueryString());
assertEquals("⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑", result.getPayloadString());
assertEquals(response.getMID(), result.getMID());
}
}
代码示例来源:origin: org.eclipse.californium/californium-core
/**
* Formats a {@link Response} into a readable String representation.
*
* @param r the Response
* @return the pretty print
*/
public static String prettyPrint(Response r) {
StringBuilder sb = new StringBuilder();
sb.append("==[ CoAP Response ]============================================").append(System.lineSeparator());
sb.append(String.format("MID : %d", r.getMID())).append(System.lineSeparator());
sb.append(String.format("Token : %s", r.getTokenString())).append(System.lineSeparator());
sb.append(String.format("Type : %s", r.getType().toString())).append(System.lineSeparator());
sb.append(String.format("Status : %s", r.getCode().toString())).append(System.lineSeparator());
sb.append(String.format("Options: %s", r.getOptions().toString())).append(System.lineSeparator());
sb.append(String.format("Payload: %d Bytes", r.getPayloadSize())).append(System.lineSeparator());
if (r.getPayloadSize() > 0 && MediaTypeRegistry.isPrintable(r.getOptions().getContentFormat())) {
sb.append("---------------------------------------------------------------").append(System.lineSeparator());
sb.append(r.getPayloadString());
sb.append(System.lineSeparator());
}
sb.append("===============================================================");
return sb.toString();
}
代码示例来源:origin: eclipse/leshan
@Override
public void visit(RegisterRequest request) {
if (coapResponse.isError()) {
// handle error response:
lwM2mresponse = new RegisterResponse(toLwM2mResponseCode(coapResponse.getCode()), null,
coapResponse.getPayloadString());
} else if (coapResponse.getCode() == org.eclipse.californium.core.coap.CoAP.ResponseCode.CREATED) {
// handle success response:
lwM2mresponse = RegisterResponse.success(coapResponse.getOptions().getLocationString());
} else {
// handle unexpected response:
handleUnexpectedResponseCode(request, coapResponse);
}
}
代码示例来源:origin: org.eclipse.leshan/leshan-server-cf
@Override
public void onResponse(Response coapResponse) {
if (coapResponse.getCode() == CoAP.ResponseCode.CHANGED || coapResponse.getCode() == CoAP.ResponseCode.CONTENT) {
try {
LwM2mNode content = LwM2mNodeDecoder.decode(coapResponse.getPayload(),
ContentFormat.fromCode(coapResponse.getOptions().getContentFormat()), path);
ValueResponse response = new ValueResponse(ResponseCode.CHANGED, content);
for (ObservationListener listener : listeners) {
listener.newValue(this, response.getContent());
}
} catch (InvalidValueException e) {
String msg = String.format("[%s] ([%s])", e.getMessage(), e.getPath().toString());
LOG.debug(msg);
}
}
}
代码示例来源:origin: eclipse/californium
@Test public void testResponseParsing() {
Response response = new Response(ResponseCode.CONTENT);
response.setType(Type.NON);
response.setMID(expectedMid);
response.setToken(new byte[] { 22, -1, 0, 78, 100, 22 });
response.getOptions().addETag(new byte[] { 1, 0, 0, 0, 0, 1 })
.addLocationPath("/one/two/three/four/five/six/seven/eight/nine/ten")
.addOption(new Option(57453, "Arbitrary".hashCode())).addOption(new Option(19205, "Arbitrary1"))
.addOption(new Option(19205, "Arbitrary2")).addOption(new Option(19205, "Arbitrary3"));
RawData rawData = serializer.serializeResponse(response);
Response result = (Response) parser.parseMessage(rawData);
assertEquals(response.getMID(), result.getMID());
assertArrayEquals(response.getToken(), result.getToken());
assertEquals(response.getOptions().asSortedList(), result.getOptions().asSortedList());
}
代码示例来源:origin: eclipse/californium
private Response responseFor(final Request request) {
Response response = new Response(ResponseCode.CONTENT);
response.setMID(request.getMID());
response.setToken(request.getToken());
response.setBytes(new byte[]{});
response.setSource(request.getDestination());
response.setSourcePort(request.getDestinationPort());
response.setDestination(request.getSource());
response.setDestinationPort(request.getSourcePort());
return response;
}
}
代码示例来源:origin: eclipse/californium
public void handleGET(CoapExchange exchange) {
Response response = new Response(CONTENT);
response.setType(respType); // respType is altered throughout the test cases
response.setPayload(respPayload); // payload is altered throughout the test cases
exchange.respond(response);
}
代码示例来源:origin: eclipse/leshan
@Override
public void visit(BootstrapRequest request) {
if (coapResponse.isError()) {
// handle error response:
lwM2mresponse = new BootstrapResponse(toLwM2mResponseCode(coapResponse.getCode()),
coapResponse.getPayloadString());
} else if (coapResponse.getCode() == org.eclipse.californium.core.coap.CoAP.ResponseCode.CHANGED) {
// handle success response:
lwM2mresponse = BootstrapResponse.success();
} else {
// handle unexpected response:
handleUnexpectedResponseCode(request, coapResponse);
}
}
代码示例来源:origin: eclipse/californium
protected final void appendResponseDetails(final Response response) {
if (response.isCanceled()) {
buffer.append("CANCELED ");
}
buffer.append(response.getType()).append(" [MID=").append(response.getMID())
.append(", T=").append(response.getTokenString()).append("], ")
.append(response.getCode());
appendBlockOption(1, response.getOptions().getBlock1());
appendBlockOption(2, response.getOptions().getBlock2());
appendObserveOption(response.getOptions());
appendSize1(response.getOptions());
appendSize2(response.getOptions());
appendEtags(response.getOptions());
}
代码示例来源:origin: org.eclipse.leshan/leshan-server-cf
@Override
public void handleRequest(Exchange exchange) {
try {
super.handleRequest(exchange);
} catch (Exception e) {
LOG.error("Exception while handling a request on the /rd resource", e);
// unexpected error, we should sent something like a INTERNAL_SERVER_ERROR.
// but it would not be LWM2M compliant. so BAD_REQUEST for now...
exchange.sendResponse(new Response(ResponseCode.BAD_REQUEST));
}
}
代码示例来源:origin: eclipse/californium
protected boolean checkResponse(Request request, Response response) {
boolean success = true;
success &= checkType(Type.ACK, response.getType());
success &= checkInt(EXPECTED_RESPONSE_CODE.value,
response.getCode().value, "code");
success &= checkInt(request.getMID(), response.getMID(), "MID");
return success;
}
}
代码示例来源:origin: eclipse/californium
protected boolean checkResponse(Request request, Response response) {
boolean success = true;
success &= checkType(Type.ACK, response.getType());
success &= checkInt(EXPECTED_RESPONSE_CODE.value,
response.getCode().value, "code");
success &= checkToken(request.getToken(), response.getToken());
success &= hasContentType(response);
success &= hasNonEmptyPalyoad(response);
return success;
}
}
内容来源于网络,如有侵权,请联系作者删除!