import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.api.Request;
import org.openhab.binding.tapocontrol.internal.api.protocol.passthrough.PassthroughProtocol;
import org.openhab.binding.tapocontrol.internal.devices.bridge.TapoBridgeHandler;
import org.openhab.binding.tapocontrol.internal.devices.bridge.dto.TapoCloudLoginData;
}
return url;
}
-
- /**
- * Set http-headers
- */
- public Request setHeaders(Request httpRequest) {
- httpRequest.header("content-type", CONTENT_TYPE_JSON);
- httpRequest.header("Accept", CONTENT_TYPE_JSON);
- return httpRequest;
- }
}
logger.trace("({}) encrypted request: '{}' with cookie '{}'", uid, tapoRequest, session.getCookie());
}
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header */
httpRequest = setHeaders(httpRequest);
TapoRequest encryptedRequest = session.encryptRequest(tapoRequest);
logger.trace("({}) sending encrypted request to '{}' with cookie '{}'", uid, url, session.getCookie());
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header */
httpRequest = setHeaders(httpRequest);
*/
@Override
public void responseReceived(ContentResponse response, String command) throws TapoErrorHandler {
- logger.trace("({}) recived response: {}", uid, response.getContentAsString());
+ logger.trace("({}) received response: {}", uid, response.getContentAsString());
TapoResponse tapoResponse = getTapoResponse(response);
httpDelegator.handleResponse(tapoResponse, command);
httpDelegator.responsePasstrough(response.getContentAsString(), command);
* Set HTTP-Headers
*/
protected Request setHeaders(Request httpRequest) {
- httpRequest.header("content-type", CONTENT_TYPE_JSON);
httpRequest.header("Accept", CONTENT_TYPE_JSON);
if (session.isHandshakeComplete()) {
httpRequest.header(HTTP_AUTH_TYPE_COOKIE, session.getCookie());
String command = tapoRequest.method();
logger.trace("({}) sending unencrypted request: '{}' to '{}' ", uid, tapoRequest, url);
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header */
httpRequest = setHeaders(httpRequest);
Integer ivSequence = session.getIvSequence();
logger.trace("({}) encrypted request is '{}' with sequence '{}'", uid, encrypteString, ivSequence);
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header and params */
httpRequest = setHeaders(httpRequest);
*/
protected Request setHeaders(Request httpRequest) {
if (!session.isHandshakeComplete()) {
- httpRequest.header("content-type", CONTENT_TYPE_JSON);
httpRequest.header("Accept", CONTENT_TYPE_JSON);
}
if (!session.getCookie().isBlank()) {
logger.trace("({}) sending encrypted request to '{}' ", uid, url);
logger.trace("({}) unencrypted request: '{}'", uid, tapoRequest);
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header */
httpRequest = setHeaders(httpRequest);
logger.trace("({}) sendAsncRequest to '{}'", uid, url);
logger.trace("({}) command/payload: '{}''{}'", uid, command, tapoRequest.params());
- Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST.toString());
+ Request httpRequest = httpDelegator.getHttpClient().newRequest(url).method(HttpMethod.POST);
/* set header */
httpRequest = setHeaders(httpRequest);
*/
@Override
public void responseReceived(ContentResponse response, String command) throws TapoErrorHandler {
- logger.trace("({}) recived response: {}", uid, response.getContentAsString());
+ logger.trace("({}) received response: {}", uid, response.getContentAsString());
TapoResponse tapoResponse = getTapoResponse(response);
if (!tapoResponse.hasError()) {
switch (command) {
if (response.getStatus() == 200) {
return getTapoResponse(response.getContentAsString());
} else {
- logger.debug("({}) invalid response received", uid);
- throw new TapoErrorHandler(ERR_BINDING_HTTP_RESPONSE, "invalid response receicved");
+ String reason = response.getStatus() + " " + response.getReason();
+ logger.debug("({}) invalid response received - {}", uid, reason);
+ throw new TapoErrorHandler(ERR_BINDING_HTTP_RESPONSE, reason);
}
}
* Set HTTP-Headers
*/
public Request setHeaders(Request httpRequest) {
- httpRequest.header("content-type", CONTENT_TYPE_JSON);
httpRequest.header("Accept", CONTENT_TYPE_JSON);
return httpRequest;
}
package org.openhab.binding.tapocontrol.internal.dto;
import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;
-import io.reactivex.annotations.Nullable;
-
/**
* Holds data sent to device
*
/**
* Create request with command (method) and data (params) sent to device
*/
- public TapoRequest(String method, Object params) {
+ public TapoRequest(String method, @Nullable Object params) {
this(method, params, System.currentTimeMillis());
}
* Create request with command (method) sent to device
*/
public TapoRequest(String method) {
- this(method, "", System.currentTimeMillis());
+ this(method, null, System.currentTimeMillis());
}
/***********************************************