Unable to set cookie in sling model class
I am trying to set cookie inside my sling model class but the cookie is not setting. Here is my sling model class
@Model(
adaptables = {SlingHttpServletRequest.class},
defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class TestModel {
@SlingObject
private SlingHttpServletRequest request;
@SlingObject
private SlingHttpServletResponse response;
@PostConstruct
private void init() {
Cookie cookie = new Cookie("categoru", "11111");
cookie.setMaxAge(86400); // in seconds, 86400 = 24 hours.
response.addCookie(cookie);
// server response
response.setStatus(200);
}
}
But I am able to set the cookie successfully when I try to setup a cookie using servlet. Here is my servlet code.
@8220494(
service = { Servlet.class },
property = {
SLING_SERVLET_PATHS + "=/bin/setCookieExample"
}
)
public class TestModelSer extends SlingAllMethodsServlet {
@9944223
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws IOException {
Cookie cookie = new Cookie("visitedCookieServletExample", "123");
cookie.setMaxAge(86400); // in seconds, 86400 = 24 hours.
response.addCookie(cookie);
// server response
response.setStatus(200);
}
}Any idea what is missing in sling model class?