Hello i had the next problem, i want to answer to a Head request with a
Content-Length.
I put an example
HEAD /external/images/media/21.jpg HTTP/1.0
getcontentFeatures.dlna.org: 1
Host: 192.168.1.130:57645
HTTP/1.1 200 OK
Date: Tue, 21 Aug 2012 10:24:59 GMT
Cache-Control: no-cache
transferMode.dlna.org: Streaming
contentFeatures.dlna.org: DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_OP=01;DLNA.ORG_CI=0
Content-Type: image/jpeg
Last-Modified: Sat, 25 Feb 2012 15:11:58 GMT
Content-Length: 60909
Accept-Ranges: bytes
----------------------------
The problem comes when i try to put Content-Length: 60909, I always get this
exception "Content-Length header already present".
This is my code
public void handle(HttpRequest request,
HttpResponse response,
HttpContext context) throws HttpException, IOException
{
String method =
request.getRequestLine().getMethod().toUpperCase(Locale.ENGLISH);
if(method.equals("HEAD"))
{
MimeType mimeType = getMimeType(obj);
long sizeInBytes = getSizeInBytes(obj);
response.setHeader("Cache-control", "no-cache");
response.setHeader("transferMode.dlna.org", "Streaming");
String aMimeType = mimeType.toString();
String dlnaspec="";
if (aMimeType.equals("image/jpeg"))
dlnaspec = "DLNA.ORG_PN=JPEG_LRG";
else if (aMimeType.equals("audio/mpeg"))
dlnaspec = "DLNA.ORG_PN=MP3";
else if (aMimeType.equals("audio/L16") ||
aMimeType.equals("audio/wav"))
dlnaspec = "DLNA.ORG_PN=LPCM";
response.setHeader("contentFeatures.dlna.org",
dlnaspec+";DLNA.ORG_OP=01;DLNA.ORG_CI=0");
response.setHeader("Content-Type", mimeType.toString());
response.setHeader("Accept-Ranges", "bytes");
response.setHeader("Content-Length", String.valueOf(sizeInBytes));
response.setStatusCode(HttpStatus.SC_OK);
}
}
-----------------
I also have tried to put an empty entity in this way
ByteArrayInputStream stream=new ByteArrayInputStream(new byte[(int)
sizeInBytes]);
InputStreamEntity entity = new InputStreamEntity(stream, sizeInBytes);
response.setEntity(entity);
but the problem is that a Head method dont have a body message so this approach
is not valid.
Any ideas?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en