/*
* HttpMessage
* Connect SDK
*
* Copyright (c) 2014 LG Electronics.
* Created by Hyun Kook Khang on 13 Feb 2014
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.connectsdk.etc.helper;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
public class HttpMessage {
public final static String CONTENT_TYPE_HEADER = "Content-Type";
public final static String CONTENT_TYPE_TEXT_XML = "text/xml; charset=utf-8";
public final static String CONTENT_TYPE_APPLICATION_PLIST = "application/x-apple-binary-plist";
public final static String UDAP_USER_AGENT = "UDAP/2.0";
public final static String LG_ELECTRONICS = "LG Electronics";
public final static String USER_AGENT = "User-Agent";
public final static String SOAP_ACTION = "\"urn:schemas-upnp-org:service:AVTransport:1#%s\"";
public final static String SOAP_HEADER = "Soapaction";
public final static String NEW_LINE = "\r\n";
public static HttpPost getHttpPost(String uri) {
HttpPost post = null;
try {
post = new HttpPost(uri);
post.setHeader("Content-Type", CONTENT_TYPE_TEXT_XML);
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
return post;
}
public static HttpPost getUDAPHttpPost(String uri) {
HttpPost post = getHttpPost(uri);
post.setHeader("User-Agent", UDAP_USER_AGENT);
return post;
}
public static HttpPost getDLNAHttpPost(String uri, String action) {
String soapAction = "\"urn:schemas-upnp-org:service:AVTransport:1#" + action + "\"";
HttpPost post = getHttpPost(uri);
post.setHeader("Soapaction", soapAction);
return post;
}
public static HttpPost getDLNAHttpPostRenderControl(String uri, String action) {
String soapAction = "\"urn:schemas-upnp-org:service:RenderingControl:1#" + action + "\"";
HttpPost post = getHttpPost(uri);
post.setHeader("Soapaction", soapAction);
return post;
}
public static HttpGet getHttpGet(String url) {
return new HttpGet(url);
}
public static HttpGet getUDAPHttpGet(String uri) {
HttpGet get = getHttpGet(uri);
get.setHeader("User-Agent", UDAP_USER_AGENT);
return get;
}
public static HttpDelete getHttpDelete(String url) {
return new HttpDelete(url);
}
public static String encode(String str) {
try {
return URLEncoder.encode(str, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
public static String decode(String str) {
try {
return URLDecoder.decode(str, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
}