Examples of CoapMessage


Examples of org.apache.mina.coap.CoapMessage

        String url = urlBuilder.toString();
        LOG.debug("requested URL : {}", url);

        if (url.length() < 1) {
            // 4.00 !
            return new CoapMessage(1, MessageType.ACK, CoapCode.BAD_REQUEST.getCode(), request.getId(),
                    request.getToken(), new CoapOption[] { new CoapOption(CoapOptionType.CONTENT_FORMAT,
                            new byte[] { 0 }) }, "no URL !".getBytes());
        }
        if (".well-known/core".equalsIgnoreCase(url)) {
            // discovery !
            return new CoapMessage(1, MessageType.ACK, CoapCode.CONTENT.getCode(), request.getId(), request.getToken(),
                    new CoapOption[] { new CoapOption(CoapOptionType.CONTENT_FORMAT, new byte[] { 40 }) },
                    getDiscovery());
        } else {
            ResourceHandler handler = handlers.get(url);
            if (handler == null) {
                // 4.04 !
                return new CoapMessage(1, MessageType.ACK, CoapCode.NOT_FOUND.getCode(), request.getId(),
                        request.getToken(), new CoapOption[] { new CoapOption(CoapOptionType.CONTENT_FORMAT,
                                new byte[] { 0 }) }, "not found !".getBytes());
            } else {
                CoapResponse response = handler.handle(request, session);
                return new CoapMessage(1, request.getType() == MessageType.CONFIRMABLE ? MessageType.ACK
                        : MessageType.NON_CONFIRMABLE, response.getCode(), request.getId(), request.getToken(),
                        response.getOptions(), response.getContent());
            }
        }
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

        }

        if (input.hasRemaining()) {
            throw new ProtocolDecoderException("trailling " + input.remaining() + " bytes in the UDP datagram");
        }
        return new CoapMessage(version, type, code, id, token, options.toArray(EMPTY_OPTION), payload);
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

public class ResourceRegistryTest {

    @Test
    public void generate_4_04_on_unknown_resources() {
        ResourceRegistry reg = new ResourceRegistry();
        CoapMessage msg = new CoapMessage(1, MessageType.CONFIRMABLE, CoapCode.GET.getCode(), 123, null,
                new CoapOption[] { new CoapOption(CoapOptionType.URI_PATH, "test".getBytes()) }, new byte[] {});
        CoapMessage resp = reg.respond(msg, null);
        assertEquals(1, resp.getVersion());
        assertEquals(CoapCode.NOT_FOUND.getCode(), resp.getCode());
        assertArrayEquals(new CoapOption[] { new CoapOption(CoapOptionType.CONTENT_FORMAT, new byte[] { 0 }) },
                resp.getOptions());
        assertArrayEquals("not found !".getBytes(), resp.getPayload());
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

            }
        };
        reg.register(handler);

        // 4.04 on bad path
        CoapMessage msg = new CoapMessage(1, MessageType.CONFIRMABLE, CoapCode.GET.getCode(), 123, null,
                new CoapOption[] { new CoapOption(CoapOptionType.URI_PATH, "meh".getBytes()) }, new byte[] {});
        CoapMessage resp = reg.respond(msg, null);
        assertEquals(CoapCode.NOT_FOUND.getCode(), resp.getCode());

        // on correct path the 2.02 with the response
        msg = new CoapMessage(1, MessageType.CONFIRMABLE, CoapCode.GET.getCode(), 123, null, new CoapOption[] {
                                new CoapOption(CoapOptionType.URI_PATH, "myTest".getBytes()),
                                new CoapOption(CoapOptionType.URI_PATH, "Path".getBytes()) }, new byte[] {});
        resp = reg.respond(msg, null);
        assertEquals(1, resp.getVersion());
        assertEquals(12345, resp.getCode());
        assertArrayEquals(new CoapOption[] {}, resp.getOptions());
        assertArrayEquals("bla bla".getBytes(), resp.getPayload());
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

    private CoapEncoder encoder = new CoapEncoder();

    @Test
    public void no_content_no_option() {
        CoapMessage message = NO_CONTENT_NO_OPTION;
        ByteBuffer encoded = encoder.encode(message, null);
        Assert.assertEquals(NO_CONTENT_NO_OPTION_HEX, ByteBufferDumper.toHex(encoded));

    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

    }

    @Test
    public void some_content_no_option() {
        CoapMessage message = SOME_CONTENT_NO_OPTION;
        ByteBuffer encoded = encoder.encode(message, null);

        Assert.assertEquals(SOME_CONTENT_NO_OPTION_HEX, ByteBufferDumper.toHex(encoded));

    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

    }

    @Test
    public void payload_and_one_option() {
        CoapMessage message = PAYLOAD_AND_ONE_OPTION;
        ByteBuffer encoded = encoder.encode(message, null);
        Assert.assertEquals(PAYLOAD_AND_ONE_OPTION_HEX, ByteBufferDumper.toHex(encoded));

    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

    }

    @Test
    public void payload_and_multiple_option() {
        CoapMessage message = PAYLOAD_AND_MULTIPLE_OPTION;
        ByteBuffer encoded = encoder.encode(message, null);
        Assert.assertEquals(PAYLOAD_AND_MULTIPLE_OPTION_HEX, ByteBufferDumper.toHex(encoded));
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

        Assert.assertEquals(PAYLOAD_AND_MULTIPLE_OPTION_HEX, ByteBufferDumper.toHex(encoded));
    }

    @Test
    public void observe() {
        CoapMessage message = OBSERVE;
        ByteBuffer encoded = encoder.encode(message, null);
        Assert.assertEquals(OBSERVE_HEX, ByteBufferDumper.toHex(encoded));
    }
View Full Code Here

Examples of org.apache.mina.coap.CoapMessage

        }

        if (input.hasRemaining()) {
            throw new ProtocolDecoderException("trailling " + input.remaining() + " bytes in the UDP datagram");
        }
        return new CoapMessage(version, type, code, id, token, options.toArray(EMPTY_OPTION), payload);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.