Hello Fabian,
I've entered an issue for this topic:
http://restlet.tigris.org/issues/show_bug.cgi?id=1057
Best regards,
Thierry Boileau
> Hello there,
>
> I've noticed (Restlet 2.0snapshot from 2010-02-19 IIRC) that there's
> no @Head annotation to handle HEAD requests. The method annotated with
> @Get is handling HEAD also. A priori this makes some sense because one
> expects to get the same answer for HEAD and GET, except that HEAD has
> just metadata (in the HTTP headers) while GET has both the metadata
> and a body with the representation of the resource in question.
>
> So far, so good.
>
> This "no body in the response" almost mandates the usage of
> EmptyRepresentation... except that it cannot have the other metadata
> set properly.
>
> Look at this example, code:
>
> getLogger().info("-*-*-*-*-*-*-*-*-DBG: METADATA: " + cmd.toString());
> Representation rep = new EmptyRepresentation();
> rep.setModificationDate(cmd.getLastModif().getTime());
> rep.setSize(cmd.getSize());
> rep.setMediaType(new MediaType(cmd.getMimeType()));
> return rep;
>
> It basically creates an empty representation (no Content-Type header,
> Length header fixed to 0) and then tries to set the "correct" metadata
> (Content-Type, Length and Date are the ones I need properly set) by
> issuing standard API calls as suggested by both the Restlet engine and
> the docs at
> http://wiki.restlet.org/docs_2.0/13-restlet/27-restlet/130-restlet.html
>
> However, this is not working, in the logs I get the correct metadata info:
>
> *****************
> INFO: -*-*-*-*-*-*-*-*-DBG: METADATA: { Last Modified on
> java.util.GregorianCalendar[time=1266859161000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Buenos_Aires",offset=-10800000,dstSavings=3600000,useDaylight=true,transitions=118,lastRule=java.util.SimpleTimeZone[id=America/Buenos_Aires,offset=-10800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=9,startDay=15,startDayOfWeek=1,startTime=0,startTimeMode=0,endMode=3,endMonth=2,endDay=15,endDayOfWeek=1,endTime=0,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2010,MONTH=1,WEEK_OF_YEAR=9,WEEK_OF_MONTH=4,DAY_OF_MONTH=22,DAY_OF_YEAR=53,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=19,SECOND=21,MILLISECOND=0,ZONE_OFFSET=-10800000,DST_OFFSET=3600000],
> Type text/plain, Size 19 bytes, HEAD rev is 1.1 }
> *****************
>
> But in the response I don't get the correct metadata info, and just
> get the ones corresponding to EmptyRepresentation (which is not what
> should be happening...):
>
> *****************
> HTTP/1.1 200 The request has succeeded
>
> Content-Length: 0
>
> Connection: close
>
> Date: Mon, 22 Feb 2010 16:00:13 GMT
>
> Accept-Ranges: bytes
>
> Server: Restlet-Framework/2.0snapshot
>
> *****************
>
> Using Restlet 2.0snapshot from 2010-02-19 IIRC (not the latest, but
> the one before, or two before)
>
> Needless to say that if I try to set the HTTP headers on purpose with
> the correct values, Restlet correctly barks:
>
> *****************
> Feb 22, 2010 3:19:21 PM org.restlet.engine.http.header.HeaderUtils
> addExtensionHeaders
> WARNING: Addition of the standard header "Content-Type" is not
> allowed. Please use the equivalent property in the Restlet API.
> Feb 22, 2010 3:19:21 PM org.restlet.engine.http.header.HeaderUtils
> addExtensionHeaders
> WARNING: Addition of the standard header "Content-Length" is not
> allowed. Please use the equivalent property in the Restlet API.
> *****************
>
> Thanks in advance...
>
>
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2456596