use of org.noear.solon.annotation.Post in project solon by noear.
the class AuthorizationController method authorizePost.
@Post
@Mapping("authorize")
public void authorizePost(Context ctx, HttpServletRequest request) throws IOException {
// agree
IdsResponse<String, String> idsResponse = this.authorizationEndpoint.agree(new JakartaRequestAdapter(request));
ctx.redirect(idsResponse.getData());
}
use of org.noear.solon.annotation.Post in project solon by noear.
the class LoginController method loginPost.
@Post
@Mapping("login")
public void loginPost(Context ctx, HttpServletRequest request, HttpServletResponse response) {
IdsResponse<String, String> idsResponse = this.loginEndpoint.signin(new JakartaRequestAdapter(request), new JakartaResponseAdapter(response));
ctx.redirect(idsResponse.getData());
}
use of org.noear.solon.annotation.Post in project Water by noear.
the class Init2WaterRedisController method ajax_init_redis.
@Post
@Mapping("/ajax/init/redis")
public Result ajax_init_redis(String config) {
if (Config.water == null) {
return Result.failure("未连接数据库,刷新再试...");
}
Properties props;
try {
props = Utils.buildProperties(config);
RedisClient redisClient = new RedisClient(props, 0);
redisClient.open(s -> {
s.key("test").get();
});
} catch (Exception e) {
EventBus.push(e);
return Result.failure("出错,连接失败");
}
Properties waterPro = Config.getCfg(WW.water, WW.water).getProp();
String cacheCfg = "driverType=redis\n" + config + "\ndb=9";
StringBuilder bcfCfg = new StringBuilder();
bcfCfg.append("grit.cache.driverType=").append("redis").append("\n");
bcfCfg.append("grit.cache.server=").append(props.getProperty("server")).append("\n");
bcfCfg.append("grit.cache.password=").append(props.getProperty("password")).append("\n");
bcfCfg.append("grit.cache.db=").append("9").append("\n");
bcfCfg.append("\n");
bcfCfg.append("grit.db.schema=").append(waterPro.getProperty("schema")).append("\n");
bcfCfg.append("grit.db.url=").append(waterPro.getProperty("url")).append("\n");
bcfCfg.append("grit.db.password=").append(waterPro.getProperty("password")).append("\n");
bcfCfg.append("grit.db.username=").append(waterPro.getProperty("username")).append("\n");
bcfCfg.append("\n");
bcfCfg.append("server.session.state.domain=").append("water.noear.org").append("\n");
bcfCfg.append("server.session.timeout=").append("7200").append("\n");
bcfCfg.append("\n");
bcfCfg.append("grit.token=").append("DLAWrz90wAc2MIqHZ9o8b3RaPWiHebez").append("\n");
// 更新配置
try {
DbWaterCfgApi.updConfig(WW.water, WW.water_redis, config);
DbWaterCfgApi.updConfig(WW.water, WW.water_cache, cacheCfg);
DbWaterCfgApi.updConfig("grit", "grit.yml", bcfCfg.toString());
DbWaterCfgApi.updConfig(WW.water, Config.water_setup_step, "2");
} catch (Exception e) {
return Result.failure("出错," + e.getLocalizedMessage());
}
// 2.
return Result.succeed(null, "配置成功");
}
use of org.noear.solon.annotation.Post in project Water by noear.
the class Init4LogStoreController method ajax_connect.
@Post
@Mapping("/ajax/init/water_log")
public Result ajax_connect(String config) {
if (Config.water == null) {
return Result.failure("未连接数据库,刷新再试...");
}
if (Utils.isEmpty(config)) {
return Result.failure("出错,配置不能为空");
}
ProtocolHub.config = Config::getCfg;
ConfigM logCfg = new ConfigM("water_log_store", config, 0);
ProtocolHub.logSourceFactory = new LogSourceFactoryImpl(logCfg, DbWaterCfgApi::getLogger);
List<LoggerModel> loggerList = DbWaterCfgApi.getLoggerList();
try {
for (LoggerModel logger : loggerList) {
if (Utils.isEmpty(logger.source)) {
ProtocolHub.logSourceFactory.getSource(logger.logger).create(logger.logger, 15);
}
}
// 更新配置
DbWaterCfgApi.updConfig(WW.water, WW.water_log_store, config);
DbWaterCfgApi.updConfig(WW.water, Config.water_setup_step, "4");
} catch (Exception e) {
EventBus.push(e);
return Result.failure("出错," + e.getLocalizedMessage());
}
// 2.
return Result.succeed(null, "配置成功");
}
use of org.noear.solon.annotation.Post in project Water by noear.
the class ConnectController method ajax_connect.
@Post
@Mapping("/ajax/connect")
public Result ajax_connect(Context ctx, String config) throws Exception {
if (Utils.isEmpty(config)) {
return Result.failure("配置不能为空");
}
Properties props = Config.getProp(config);
if (props.size() > 3) {
Config.water = Config.getDb(props, true);
if (Config.water != null) {
// 连接成功
String token = Base64Utils.encode(config);
ctx.cookieSet("XWATER_TOKEN", token);
}
} else {
return Result.failure("配置有问题...");
}
if (Config.water == null) {
return Result.failure("连接失败");
}
// 0.
return Result.succeed(null, "连接成功");
}
Aggregations