package com.msgilligan.bitcoinj.spring.controller;
/**
* REST and WebSocket (STOMP) Spring MVC Peer Controller
*/
import com.msgilligan.bitcoinj.spring.service.PeerService;
import org.bitcoinj.core.Peer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import java.security.Principal;
import java.util.List;
@RestController
public class PeerController {
private final PeerService peerService;
@Autowired
public PeerController(PeerService peerService) {
this.peerService = peerService;
}
@RequestMapping("/hello")
public String index() {
return "Greetings from PeerList! We're running on: " + peerService.getNetworkParameters().getId() + ".";
}
@MessageMapping("/listPeers")
public void listPeers(Principal principal) {
peerService.listPeers(principal);
}
@RequestMapping("/listPeers")
@ResponseBody
public List<Peer> listPeersREST() {
return peerService.getPeers();
}
}