package org.kalipo.web.rest; import com.codahale.metrics.annotation.Timed; import com.wordnik.swagger.annotations.ApiOperation; import org.kalipo.service.CommentService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.QueryParam; import java.util.concurrent.ExecutionException; /** * Controller to log outgoing urls per comment. * <p> */ @RestController @RequestMapping("/out") public class ForwarderResource { private final Logger log = LoggerFactory.getLogger(ForwarderResource.class); @Inject private CommentService commentService; /** * GET /out */ @RequestMapping(method = RequestMethod.GET) @Timed @ApiOperation(value = "") public Object forward(@QueryParam("url") String url, @QueryParam("commentId") String commentId, final HttpServletRequest request, final HttpServletResponse response) throws ExecutionException, InterruptedException, KalipoException { log.debug("REST request to get all Comments, that have to be reviewed"); commentService.logForward(commentId, url, request.getRemoteAddr()); return "redirect:" + url; } }