本文整理汇总了Java中org.eclipse.californium.core.coap.Response类的典型用法代码示例。如果您正苦于以下问题:Java Response类的具体用法?Java Response怎么用?Java Response使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Response类属于org.eclipse.californium.core.coap包,在下文中一共展示了Response类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: dtlsPSKRequest
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
public static Response dtlsPSKRequest(String uri, String method, byte[] payload, int contentFormat, String pskIdentity, byte[] pskKey) throws Exception {
Request request = Utils.newRequest(method);
request.setURI(uri);
request.setPayload(payload);
request.getOptions().setContentFormat(contentFormat);
DtlsConnectorConfig.Builder builder = new DtlsConnectorConfig.Builder(new InetSocketAddress(0));
builder.setPskStore(new StaticPskStore(pskIdentity, pskKey));
builder.setSupportedCipherSuites(new CipherSuite[] {CipherSuite.TLS_PSK_WITH_AES_128_CCM_8});
DTLSConnector dtlsconnector = new DTLSConnector(builder.build(), null);
NetworkConfig nc = NetworkConfig.getStandard().setInt("COAP_SECURE_PORT", 15686);
dtlsEndpoint = new CoapEndpoint(dtlsconnector, nc);
dtlsEndpoint.start();
// execute request
request.send(dtlsEndpoint);
Response response = request.waitForResponse();
return response;
}
开发者ID:erwah,项目名称:acetest,代码行数:25,代码来源:DTLSUtils.java
示例2: convertToAdaptorMsg
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Override
public Optional<Response> convertToAdaptorMsg(CoapSessionCtx ctx, SessionActorToAdaptorMsg source) throws AdaptorException {
ToDeviceMsg msg = source.getMsg();
switch (msg.getMsgType()) {
case STATUS_CODE_RESPONSE:
case TO_DEVICE_RPC_RESPONSE_ACK:
return Optional.of(convertStatusCodeResponse((StatusCodeResponse) msg));
case GET_ATTRIBUTES_RESPONSE:
return Optional.of(convertGetAttributesResponse((GetAttributesResponse) msg));
case ATTRIBUTES_UPDATE_NOTIFICATION:
return Optional.of(convertNotificationResponse(ctx, (AttributesUpdateNotification) msg));
case TO_DEVICE_RPC_REQUEST:
return Optional.of(convertToDeviceRpcRequest(ctx, (ToDeviceRpcRequestMsg) msg));
case TO_SERVER_RPC_RESPONSE:
return Optional.of(convertToServerRpcResponse(ctx, (ToServerRpcResponseMsg) msg));
case RULE_ENGINE_ERROR:
return Optional.of(convertToRuleEngineErrorResponse(ctx, (RuleEngineErrorMsg) msg));
default:
log.warn("[{}] Unsupported msg type: {}!", source.getSessionId(), msg.getMsgType());
throw new AdaptorException(new IllegalArgumentException("Unsupported msg type: " + msg.getMsgType() + "!"));
}
}
开发者ID:thingsboard,项目名称:thingsboard,代码行数:23,代码来源:JsonCoapAdaptor.java
示例3: convertToRuleEngineErrorResponse
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
private Response convertToRuleEngineErrorResponse(CoapSessionCtx ctx, RuleEngineErrorMsg msg) {
ResponseCode status = ResponseCode.INTERNAL_SERVER_ERROR;
switch (msg.getError()) {
case PLUGIN_TIMEOUT:
status = ResponseCode.GATEWAY_TIMEOUT;
break;
default:
if (msg.getInMsgType() == MsgType.TO_SERVER_RPC_REQUEST) {
status = ResponseCode.BAD_REQUEST;
}
break;
}
Response response = new Response(status);
response.setPayload(JsonConverter.toErrorJson(msg.getErrorMsg()).toString());
return response;
}
开发者ID:thingsboard,项目名称:thingsboard,代码行数:17,代码来源:JsonCoapAdaptor.java
示例4: receiveResponse
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
/**
* When we receive a Confirmable response, we acknowledge it and it also
* counts as acknowledgment for the request. If the response is a duplicate,
* we stop it here and do not forward it to the upper layer.
*/
@Override
public void receiveResponse(Exchange exchange, Response response) {
exchange.setFailedTransmissionCount(0);
exchange.getCurrentRequest().setAcknowledged(true);
LOGGER.finest("Cancel any retransmission");
exchange.setRetransmissionHandle(null);
if (response.getType() == Type.CON && !exchange.getRequest().isCanceled()) {
LOGGER.finer("Response is confirmable, send ACK");
EmptyMessage ack = EmptyMessage.newACK(response);
sendEmptyMessage(exchange, ack);
}
if (response.isDuplicate()) {
LOGGER.fine("Response is duplicate, ignore it");
} else {
super.receiveResponse(exchange, response);
}
}
开发者ID:iotoasis,项目名称:SI,代码行数:26,代码来源:ReliabilityLayer.java
示例5: onAcknowledgement
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Override
public void onAcknowledgement() {
synchronized (exchange) {
ObserveRelation relation = exchange.getRelation();
final Response next = relation.getNextControlNotification();
relation.setCurrentControlNotification(next); // next may be null
relation.setNextControlNotification(null);
if (next != null) {
LOGGER.fine("Notification has been acknowledged, send the next one");
// this is not a self replacement, hence a new MID
next.setMID(Message.NONE);
// Create a new task for sending next response so that we can leave the sync-block
executor.execute(new Runnable() {
public void run() {
ObserveLayer.super.sendResponse(exchange, next);
}
});
}
}
}
开发者ID:iotoasis,项目名称:SI,代码行数:21,代码来源:ObserveLayer.java
示例6: sendResponse
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Override
public void sendResponse(Exchange exchange, Response response) {
if (response.getDestination() == null)
throw new NullPointerException("Response has no destination address");
if (response.getDestinationPort() == 0)
throw new NullPointerException("Response has no destination port");
matcher.sendResponse(exchange, response);
/*
* Logging here causes significant performance loss.
* If necessary, add an interceptor that logs the messages,
* e.g., the MessageTracer.
*/
for (MessageInterceptor interceptor:interceptors)
interceptor.sendResponse(response);
// MessageInterceptor might have canceled
if (!response.isCanceled())
connector.send(serializer.serialize(response));
}
开发者ID:iotoasis,项目名称:SI,代码行数:24,代码来源:CoapEndpoint.java
示例7: checkObserveRelation
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
/**
* This method is used to apply resource-specific knowledge on the exchange.
* If the request was successful, it sets the Observe option for the
* response. It is important to use the notificationOrderer of the resource
* here. Further down the layer, race conditions could cause local
* reordering of notifications. If the response has an error code, no
* observe relation can be established and if there was one previously it is
* canceled. When this resource allows to be observed by clients and the
* request is a GET request with an observe option, the
* {@link ServerMessageDeliverer} already created the relation, as it
* manages the observing endpoints globally.
*
* @param exchange the exchange
* @param response the response
*/
public void checkObserveRelation(Exchange exchange, Response response) {
/*
* If the request for the specified exchange tries to establish an observer
* relation, then the ServerMessageDeliverer must have created such a relation
* and added to the exchange. Otherwise, there is no such relation.
* Remember that different paths might lead to this resource.
*/
ObserveRelation relation = exchange.getRelation();
if (relation == null) return; // because request did not try to establish a relation
if (CoAP.ResponseCode.isSuccess(response.getCode())) {
response.getOptions().setObserve(notificationOrderer.getCurrent());
if (!relation.isEstablished()) {
relation.setEstablished(true);
addObserveRelation(relation);
} else if (observeType != null) {
// The resource can control the message type of the notification
response.setType(observeType);
}
} // ObserveLayer takes care of the else case
}
开发者ID:iotoasis,项目名称:SI,代码行数:39,代码来源:CoapResource.java
示例8: clearAndNotifyObserveRelations
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
/**
* Remove all observe relations to CoAP clients and notify them that the
* observe relation has been canceled.
*
* @param code
* the error code why the relation was terminated
* (e.g., 4.04 after deletion)
*/
public void clearAndNotifyObserveRelations(ResponseCode code) {
/*
* draft-ietf-core-observe-08, chapter 3.2 Notification states:
* In the event that the resource changes in a way that would cause
* a normal GET request at that time to return a non-2.xx response
* (for example, when the resource is deleted), the server sends a
* notification with a matching response code and removes the client
* from the list of observers.
* This method is called, when the resource is deleted.
*/
for (ObserveRelation relation:observeRelations) {
relation.cancel();
relation.getExchange().sendResponse(new Response(code));
}
}
开发者ID:iotoasis,项目名称:SI,代码行数:24,代码来源:CoapResource.java
示例9: respond
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
/**
* Respond with the specified response.
* @param response the response
*/
public void respond(Response response) {
if (response == null) throw new NullPointerException();
// set the response options configured through the CoapExchange API
if (locationPath != null) response.getOptions().setLocationPath(locationPath);
if (locationQuery != null) response.getOptions().setLocationQuery(locationQuery);
if (maxAge != 60) response.getOptions().setMaxAge(maxAge);
if (eTag != null) {
response.getOptions().clearETags();
response.getOptions().addETag(eTag);
}
resource.checkObserveRelation(exchange, response);
exchange.sendResponse(response);
}
开发者ID:iotoasis,项目名称:SI,代码行数:21,代码来源:CoapExchange.java
示例10: deliverRequest
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Override
public void deliverRequest(final Exchange exchange) {
Request request = exchange.getRequest();
List<String> path = request.getOptions().getUriPath();
final Resource resource = findResource(path);
if (resource != null) {
checkForObserveOption(exchange, resource);
// Get the executor and let it process the request
Executor executor = resource.getExecutor();
if (executor != null) {
exchange.setCustomExecutor();
executor.execute(new Runnable() {
public void run() {
resource.handleRequest(exchange);
} });
} else {
resource.handleRequest(exchange);
}
} else {
LOGGER.info("Did not find resource " + path.toString() + " requested by " + request.getSource()+":"+request.getSourcePort());
exchange.sendResponse(new Response(ResponseCode.NOT_FOUND));
}
}
开发者ID:iotoasis,项目名称:SI,代码行数:25,代码来源:ServerMessageDeliverer.java
示例11: prettyPrint
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
/**
* 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 ]============================================\n");
sb.append(String.format("MID : %d\n", r.getMID()));
sb.append(String.format("Token : %s\n", r.getTokenString()));
sb.append(String.format("Type : %s\n", r.getType().toString()));
sb.append(String.format("Status : %s\n", r.getCode().toString()));
sb.append(String.format("Options: %s\n", r.getOptions().toString()));
sb.append(String.format("Payload: %d Bytes\n", r.getPayloadSize()));
if (r.getPayloadSize() > 0 && MediaTypeRegistry.isPrintable(r.getOptions().getContentFormat())) {
sb.append("---------------------------------------------------------------\n");
sb.append(r.getPayloadString());
sb.append("\n");
}
sb.append("===============================================================");
return sb.toString();
}
开发者ID:iotoasis,项目名称:SI,代码行数:27,代码来源:Utils.java
示例12: testSuccessPlaintext
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void testSuccessPlaintext() throws Exception {
Request request = Request.newPost();
request.setURI("coap://localhost:"+config.getCoapPort()+"/"+Constants.TOKEN_RESOURCE);
TokenRequest req = new TokenRequest();
req.setGrantType("client_credentials");
req.setAud(config.getResourceServers().get(0).getAud());
req.setClientID(config.getClients().get(0).getClient_id());
req.setClientSecret(config.getClients().get(0).getClient_secret());
req.setScopes(config.getResourceServers().get(0).getScopes());
request.getOptions().setContentFormat(MediaTypeRegistry.APPLICATION_JSON);
request.setPayload(req.toPayload(MediaTypeRegistry.APPLICATION_JSON));
Response response = request.send().waitForResponse();
TokenResponse tokenResponse = new TokenResponse(response.getPayload(), MediaTypeRegistry.APPLICATION_JSON);
TestUtils.validateToken(tokenResponse.getAccessToken().getBytes(), config.getResourceServers().get(0).getAud(), MediaTypeRegistry.APPLICATION_JSON);
}
开发者ID:erwah,项目名称:acetest,代码行数:21,代码来源:TokenResourceTest.java
示例13: testSuccessDTLS
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void testSuccessDTLS() throws Exception {
TokenRequest req = new TokenRequest();
req.setGrantType("client_credentials");
req.setAud(config.getResourceServers().get(0).getAud());
req.setClientID(config.getClients().get(0).getClient_id());
req.setClientSecret(config.getClients().get(0).getClient_secret());
req.setScopes(config.getResourceServers().get(0).getScopes());
Response response = DTLSUtils.dtlsPSKRequest("coaps://localhost:"+config.getCoapsPort()+"/"+Constants.TOKEN_RESOURCE, "POST", req.toPayload(MediaTypeRegistry.APPLICATION_JSON), MediaTypeRegistry.APPLICATION_JSON, config.getPskIdentity(), config.getPskKey().getBytes());
System.out.println(response);
System.out.println("Time elapsed (ms): " + response.getRTT());
Assert.assertEquals(response.getCode(), ResponseCode.CONTENT);
}
开发者ID:erwah,项目名称:acetest,代码行数:17,代码来源:TokenResourceTest.java
示例14: testSuccessClientGeneratedECKeys
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void testSuccessClientGeneratedECKeys() throws Exception {
JsonWebKey popKey = EcJwkGenerator.generateJwk(EllipticCurves.P256);
popKey.setKeyId("testkid");
TokenRequest req = new TokenRequest();
req.setGrantType("client_credentials");
req.setAud(config.getResourceServers().get(0).getAud());
req.setClientID(config.getClients().get(0).getClient_id());
req.setClientSecret(config.getClients().get(0).getClient_secret());
req.setScopes(config.getResourceServers().get(0).getScopes());
req.setKey(popKey);
Response response = DTLSUtils.dtlsPSKRequest("coaps://localhost:"+config.getCoapsPort()+"/"+Constants.TOKEN_RESOURCE, "POST", req.toPayload(MediaTypeRegistry.APPLICATION_JSON), MediaTypeRegistry.APPLICATION_JSON, config.getPskIdentity(), config.getPskKey().getBytes());
Assert.assertEquals(ResponseCode.CONTENT, response.getCode());
TokenResponse tokenResponse = new TokenResponse(response.getPayload(), MediaTypeRegistry.APPLICATION_JSON);
TestUtils.validateToken(tokenResponse.getAccessToken().getBytes(), config.getResourceServers().get(0).getAud(), MediaTypeRegistry.APPLICATION_JSON);
}
开发者ID:erwah,项目名称:acetest,代码行数:23,代码来源:TokenResourceTest.java
示例15: testSuccessClientGeneratedRSAKeys
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void testSuccessClientGeneratedRSAKeys() throws Exception {
JsonWebKey popKey = RsaJwkGenerator.generateJwk(2048);
popKey.setKeyId("testkid");
TokenRequest req = new TokenRequest();
req.setGrantType("client_credentials");
req.setAud(config.getResourceServers().get(0).getAud());
req.setClientID(config.getClients().get(0).getClient_id());
req.setClientSecret(config.getClients().get(0).getClient_secret());
req.setScopes(config.getResourceServers().get(0).getScopes());
req.setKey(popKey);
Response response = DTLSUtils.dtlsPSKRequest("coaps://localhost:"+config.getCoapsPort()+"/"+Constants.TOKEN_RESOURCE, "POST", req.toPayload(MediaTypeRegistry.APPLICATION_JSON), MediaTypeRegistry.APPLICATION_JSON, config.getPskIdentity(), config.getPskKey().getBytes());
Assert.assertEquals(ResponseCode.CONTENT, response.getCode());
TokenResponse tokenResponse = new TokenResponse(response.getPayload(), MediaTypeRegistry.APPLICATION_JSON);
TestUtils.validateToken(tokenResponse.getAccessToken().getBytes(), config.getResourceServers().get(0).getAud(), MediaTypeRegistry.APPLICATION_JSON);
}
开发者ID:erwah,项目名称:acetest,代码行数:23,代码来源:TokenResourceTest.java
示例16: testScopes
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void testScopes() throws Exception {
JsonWebKey jwk;
jwk = EcJwkGenerator.generateJwk(EllipticCurves.P256);
jwk.setKeyId("testkid");
TokenRequest req = new TokenRequest();
req.setGrantType("client_credentials");
req.setAud(config.getResourceServers().get(0).getAud());
req.setClientID(config.getClients().get(0).getClient_id());
req.setClientSecret(config.getClients().get(0).getClient_secret());
req.setScopes(config.getResourceServers().get(0).getScopes());
req.setKey(jwk);
Response response = DTLSUtils.dtlsPSKRequest("coaps://localhost:"+config.getCoapsPort()+"/"+Constants.TOKEN_RESOURCE, "POST", req.toPayload(MediaTypeRegistry.APPLICATION_JSON), MediaTypeRegistry.APPLICATION_JSON, config.getPskIdentity(), config.getPskKey().getBytes());
TokenResponse tokenResponse = new TokenResponse(response.getPayload(), MediaTypeRegistry.APPLICATION_JSON);
TestUtils.validateToken(tokenResponse.getAccessToken().getBytes(), config.getResourceServers().get(0).getAud(), MediaTypeRegistry.APPLICATION_JSON);
}
开发者ID:erwah,项目名称:acetest,代码行数:22,代码来源:TokenResourceTest.java
示例17: can_create_instance_of_object_without_instance_id
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Test
public void can_create_instance_of_object_without_instance_id() throws InterruptedException {
// create ACL instance
CreateResponse response = helper.server.send(helper.getCurrentRegistration(), new CreateRequest(2,
new LwM2mResource[] { LwM2mSingleResource.newIntegerResource(0, 123) }));
// verify result
assertEquals(ResponseCode.CREATED, response.getCode());
assertEquals("2/0", response.getLocation());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
// create a second ACL instance
response = helper.server.send(helper.getCurrentRegistration(), new CreateRequest(2,
new LwM2mResource[] { LwM2mSingleResource.newIntegerResource(0, 123) }));
// verify result
assertEquals(ResponseCode.CREATED, response.getCode());
assertEquals("2/1", response.getLocation());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
}
开发者ID:eclipse,项目名称:leshan,代码行数:24,代码来源:CreateTest.java
示例18: cannot_create_instance_without_all_required_resources
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Ignore
@Test
public void cannot_create_instance_without_all_required_resources() throws InterruptedException {
// create ACL instance
CreateResponse response = helper.server.send(helper.getCurrentRegistration(),
new CreateRequest(2, new LwM2mResource[0]));
// verify result
assertEquals(ResponseCode.BAD_REQUEST, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
// try to read to check if the instance is not created
// client registration
ReadResponse readResponse = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(2, 0));
assertEquals(ResponseCode.NOT_FOUND, readResponse.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
}
开发者ID:eclipse,项目名称:leshan,代码行数:20,代码来源:CreateTest.java
示例19: cannot_create_instance_with_extraneous_resources
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
@Ignore
@Test
public void cannot_create_instance_with_extraneous_resources() throws InterruptedException {
// create ACL instance
LwM2mObjectInstance instance = new LwM2mObjectInstance(0, Arrays.<LwM2mResource> asList(
LwM2mSingleResource.newIntegerResource(3, 123), LwM2mSingleResource.newIntegerResource(50, 123)));
CreateRequest request = new CreateRequest(2, instance);
CreateResponse response = helper.server.send(helper.getCurrentRegistration(), request);
// verify result
assertEquals(ResponseCode.BAD_REQUEST, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
// try to read to check if the instance is not created
// client registration
ReadResponse readResponse = helper.server.send(helper.getCurrentRegistration(), new ReadRequest(2, 0));
assertEquals(ResponseCode.NOT_FOUND, readResponse.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
}
开发者ID:eclipse,项目名称:leshan,代码行数:22,代码来源:CreateTest.java
示例20: write_string_resource
import org.eclipse.californium.core.coap.Response; //导入依赖的package包/类
private void write_string_resource(ContentFormat format) throws InterruptedException {
// write resource
String expectedvalue = "stringvalue";
WriteResponse response = helper.server.send(helper.getCurrentRegistration(),
new WriteRequest(format, TEST_OBJECT_ID, 0, STRING_RESOURCE_ID, expectedvalue));
// verify result
assertEquals(ResponseCode.CHANGED, response.getCode());
assertNotNull(response.getCoapResponse());
assertThat(response.getCoapResponse(), is(instanceOf(Response.class)));
// read resource to check the value changed
ReadResponse readResponse = helper.server.send(helper.getCurrentRegistration(),
new ReadRequest(TEST_OBJECT_ID, 0, STRING_RESOURCE_ID));
LwM2mResource resource = (LwM2mResource) readResponse.getContent();
assertEquals(expectedvalue, resource.getValue());
}
开发者ID:eclipse,项目名称:leshan,代码行数:18,代码来源:WriteTest.java
注:本文中的org.eclipse.californium.core.coap.Response类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论