@PUT @Consumes(value = MediaType.APPLICATION_JSON) @Path("/{name}") public Response updateConfig(@PathParam("name") String name, Config updatedConfig) { log.info("Updating config {}. New body : ", name); log.info("{}", updatedConfig.body); switch (name) { case TOKEN_MAIL_BODY: textHolder.tokenBody = updatedConfig.body; break; case SERVER_PROPERTIES_FILENAME : Properties properties = readPropertiesFromString(updatedConfig.body); serverProperties.putAll(properties); break; } return ok(updatedConfig.toString()); }
private static HandlerWrapper[] registerHandler(String rootPath, Object handler, GlobalStats globalStats) { Class<?> handlerClass = handler.getClass(); Annotation pathAnnotation = handlerClass.getAnnotation(Path.class); String handlerMainPath = ((Path) pathAnnotation).value(); List<HandlerWrapper> processors = new ArrayList<>(); for (Method method : handlerClass.getMethods()) { Annotation consumes = method.getAnnotation(Consumes.class); String contentType = MediaType.APPLICATION_JSON; if (consumes != null) { contentType = ((Consumes) consumes).value()[0]; } Annotation path = method.getAnnotation(Path.class); if (path != null) { String fullPath = rootPath + handlerMainPath + ((Path) path).value(); UriTemplate uriTemplate = new UriTemplate(fullPath); HandlerWrapper handlerHolder = new HandlerWrapper(uriTemplate, method, handler, globalStats); for (int i = 0; i < method.getParameterCount(); i++) { Parameter parameter = method.getParameters()[i]; handlerHolder.params[i] = resolveParam(parameter, contentType); } processors.add(handlerHolder); } } return processors.toArray(new HandlerWrapper[0]); }
@POST @Path("{token}/email") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_EMAIL) public Response email(@PathParam("token") String token,
@PUT @Path("{token}/update/{pin}") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_UPDATE_PIN_DATA) public Response updateWidgetPinDataNew(@PathParam("token") String token, @PathParam("pin") String pinString, String[] pinValues) { return updateWidgetPinData(token, pinString, pinValues); }
@POST @Consumes(value = MediaType.APPLICATION_FORM_URLENCODED) @Path("resetPassword") public Response sendResetPasswordEmail(@Context ChannelHandlerContext ctx,
@PUT @Consumes(value = MediaType.APPLICATION_JSON) @Path("/{id}") public Response updateUser(@PathParam("id") String id,
@POST @Consumes(value = MediaType.APPLICATION_FORM_URLENCODED) @Path("updatePassword") public Response updatePassword(@FormParam("password") String passHash, @FormParam("token") String token) { ResetPassToken resetPassToken = tokensPool.getResetPassToken(token); if (resetPassToken == null) { return badRequest("Invalid token. Please repeat all steps."); } log.info("Resetting pass for {}", resetPassToken.email); User user = userDao.getByName(resetPassToken.email, resetPassToken.appName); if (user == null) { log.warn("No user with email {}", resetPassToken.email); return notFound(); } user.resetPass(passHash); log.info("{} password was reset.", user.email); tokensPool.removeToken(token); return ok("Password was successfully reset.", TEXT_PLAIN); }
@POST @Consumes(value = MediaType.APPLICATION_FORM_URLENCODED) @Path("/login") public Response login(@FormParam("email") String email, @FormParam("password") String password) { if (email == null || password == null) { return redirect(rootPath); } User user = userDao.getByName(email, AppNameUtil.BLYNK); if (user == null || !user.isSuperAdmin) { return redirect(rootPath); } if (!password.equals(user.pass)) { return redirect(rootPath); } Response response = redirect(rootPath); log.debug("Admin login is successful. Redirecting to {}", rootPath); Cookie cookie = makeDefaultSessionCookie(sessionDao.generateNewSession(user), COOKIE_EXPIRE_TIME); response.headers().add(SET_COOKIE, ServerCookieEncoder.STRICT.encode(cookie)); return response; }
@POST @Path("{token}/notify") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_NOTIFY) public Response notify(@PathParam("token") String token,
@PUT @Path("{token}/pin/{pin}") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_UPDATE_PIN_DATA) public Response updateWidgetPinData(@PathParam("token") String token,
@PUT @Path("{token}/extra/pin/{pin}") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_UPDATE_PIN_DATA) public Response updateWidgetPinData(@PathParam("token") String token,
@GET @Path("{token}/update/{pin}") @Consumes(value = MediaType.APPLICATION_JSON) @Metric(HTTP_UPDATE_PIN_DATA) public Response updateWidgetPinDataViaGet(@PathParam("token") String token, @PathParam("pin") String pinString, @QueryParam("value") String[] pinValues, @EnumQueryParam(WidgetProperty.class) AbstractMap.SimpleImmutableEntry<WidgetProperty, String> widgetProperty) { if (pinValues != null) { return updateWidgetPinData(token, pinString, pinValues); } if (widgetProperty != null) { return updateWidgetProperty(token, pinString, widgetProperty.getKey(), widgetProperty.getValue()); } return badRequest("Wrong request format."); }