001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.io.remotecontrol.handler;
003
004 import static org.openstreetmap.josm.tools.I18n.tr;
005
006 import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
007 import org.openstreetmap.josm.io.remotecontrol.RequestProcessor;
008
009 /**
010 * Handler for version request.
011 */
012 public class VersionHandler extends RequestHandler {
013
014 public static final String command = "version";
015
016 @Override
017 protected void handleRequest() throws RequestHandlerErrorException,
018 RequestHandlerBadRequestException {
019 content = RequestProcessor.PROTOCOLVERSION;
020 contentType = "application/json";
021 if (args.containsKey("jsonp")) {
022 content = args.get("jsonp") + " && " + args.get("jsonp") + "(" + content + ")";
023 }
024 }
025
026 @Override
027 public String getPermissionMessage() {
028 return tr("Remote Control has been asked to report its protocol version. This enables web sites to detect a running JOSM.");
029 }
030
031 @Override
032 public PermissionPrefWithDefault getPermissionPref() {
033 return PermissionPrefWithDefault.READ_PROTOCOL_VERSION;
034 }
035
036 @Override
037 public String[] getMandatoryParams() {
038 return null;
039 }
040 }