Request coapRequest = new Request(Code.valueOf(coapMethod), Type.CON);
consumer = consumers.get(exchange.getRequest().getCode().name()); if (consumer == null) { cexchange.respond(ResponseCode.METHOD_NOT_ALLOWED);
/** * Formats a {@link Request} into a readable String representation. * * @param r the Request * @return the pretty print */ public static String prettyPrint(Request r) { StringBuilder sb = new StringBuilder(); sb.append("==[ CoAP Request ]=============================================").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("Method : %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(); }
Request coapRequest = new Request(Code.valueOf(coapMethod), Type.CON);
jsonG.writeStringField("code", request.getCode().name()); jsonG.writeNumberField("mid", request.getMID()); jsonG.writeNumberField("accept", request.getOptions().getAccept()); cborG.writeStringField("code", request.getCode().name()); cborG.writeNumberField("mid", request.getMID()); cborG.writeNumberField("accept", request.getOptions().getAccept());
/** * Parses a byte array into a CoAP Message. * * @param msg the byte array to parse. * @return the message. * @throws MessageFormatException if the array cannot be parsed into a message. */ public final Message parseMessage(final byte[] msg) { String message = "illegal message code"; DatagramReader reader = new DatagramReader(msg); MessageHeader header = parseHeader(reader); try { if (CoAP.isRequest(header.getCode())) { return parseMessage(reader, header, new Request(CoAP.Code.valueOf(header.getCode()))); } else if (CoAP.isResponse(header.getCode())) { return parseMessage(reader, header, new Response(CoAP.ResponseCode.valueOf(header.getCode()))); } else if (CoAP.isEmptyMessage(header.getCode())) { return parseMessage(reader, header, new EmptyMessage(header.getType())); } } catch (MessageFormatException e) { /** use message to add CoAP message specific information */ message = e.getMessage(); } throw new CoAPMessageFormatException(message, header.getMID(), header.getCode(), CoAP.Type.CON == header.getType()); }
/** * Formats a {@link Request} into a readable String representation. * * @param r the Request * @return the pretty print */ public static String prettyPrint(Request r) { StringBuilder sb = new StringBuilder(); sb.append("==[ CoAP Request ]=============================================").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("Method : %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(); }
@Test public void testGetCodeClass() { for (Code code : Code.values()) { assertThat(CoAP.getCodeClass(code.value), is(CodeClass.REQUEST.value)); } // success assertThat(CoAP.getCodeClass(ResponseCode.CREATED.value), is(CodeClass.SUCCESS_RESPONSE.value)); assertThat(CoAP.getCodeClass(ResponseCode.CHANGED.value), is(CodeClass.SUCCESS_RESPONSE.value)); assertThat(CoAP.getCodeClass(ResponseCode.CONTINUE.value), is(CodeClass.SUCCESS_RESPONSE.value)); // errors assertThat(CoAP.getCodeClass(ResponseCode.BAD_REQUEST.value), is(CodeClass.ERROR_RESPONSE.value)); assertThat(CoAP.getCodeClass(ResponseCode.UNSUPPORTED_CONTENT_FORMAT.value), is(CodeClass.ERROR_RESPONSE.value)); // server errors assertThat(CoAP.getCodeClass(ResponseCode.INTERNAL_SERVER_ERROR.value), is(CodeClass.SERVER_ERROR_RESPONSE.value)); assertThat(CoAP.getCodeClass(ResponseCode.NOT_IMPLEMENTED.value), is(CodeClass.SERVER_ERROR_RESPONSE.value)); assertThat(CoAP.getCodeClass(ResponseCode.SERVICE_UNAVAILABLE.value), is(CodeClass.SERVER_ERROR_RESPONSE.value)); }
public Request parseRequest() { assert(isRequest()); Request request = new Request(Code.valueOf(code)); parseMessage(request); return request; }
public CoapMessage(Request request, boolean incoming) { this(incoming, request.getType(), request.getMID(), request.getTokenString(), request.getOptions(), request .getPayload()); this.code = request.getCode().toString(); }