chat controller: return 404 if task is not found

This was returning a 200 with an empty body, causing the client to npe due to deserializing it as a Task with no task or location
This commit is contained in:
Adam
2020-11-26 14:21:14 -05:00
parent 80b086a975
commit 0ca25d4f46

View File

@@ -34,6 +34,9 @@ import net.runelite.http.api.chat.LayoutRoom;
import net.runelite.http.api.chat.Task;
import net.runelite.http.service.util.exception.NotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.CacheControl;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -155,9 +158,18 @@ public class ChatController
}
@GetMapping("/task")
public Task getTask(@RequestParam String name)
public ResponseEntity<Task> getTask(@RequestParam String name)
{
return chatService.getTask(name);
Task task = chatService.getTask(name);
if (task == null)
{
return ResponseEntity.status(HttpStatus.NOT_FOUND)
.build();
}
return ResponseEntity.ok()
.cacheControl(CacheControl.maxAge(2, TimeUnit.MINUTES).cachePublic())
.body(task);
}
@PostMapping("/pb")