mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
修复速率限制不存在
This commit is contained in:
@@ -111,12 +111,21 @@ tasks {
|
|||||||
publishing {
|
publishing {
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
maven {
|
||||||
|
name = "releases"
|
||||||
url = uri("https://repo.momirealms.net/releases")
|
url = uri("https://repo.momirealms.net/releases")
|
||||||
credentials(PasswordCredentials::class) {
|
credentials(PasswordCredentials::class) {
|
||||||
username = System.getenv("REPO_USERNAME")
|
username = System.getenv("REPO_USERNAME")
|
||||||
password = System.getenv("REPO_PASSWORD")
|
password = System.getenv("REPO_PASSWORD")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
maven {
|
||||||
|
name = "snapshot"
|
||||||
|
url = uri("https://repo.momirealms.net/snapshots")
|
||||||
|
credentials(PasswordCredentials::class) {
|
||||||
|
username = System.getenv("REPO_USERNAME")
|
||||||
|
password = System.getenv("REPO_PASSWORD")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
publications {
|
publications {
|
||||||
create<MavenPublication>("mavenJava") {
|
create<MavenPublication>("mavenJava") {
|
||||||
@@ -137,5 +146,35 @@ publishing {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
create<MavenPublication>("mavenJavaSnapshot") {
|
||||||
|
groupId = "net.momirealms"
|
||||||
|
artifactId = "craft-engine-bukkit"
|
||||||
|
version = "${rootProject.properties["project_version"]}-SNAPSHOT"
|
||||||
|
artifact(tasks["sourcesJar"])
|
||||||
|
from(components["shadow"])
|
||||||
|
pom {
|
||||||
|
name = "CraftEngine API"
|
||||||
|
url = "https://github.com/Xiao-MoMi/craft-engine"
|
||||||
|
licenses {
|
||||||
|
license {
|
||||||
|
name = "GNU General Public License v3.0"
|
||||||
|
url = "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||||
|
distribution = "repo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register("publishRelease") {
|
||||||
|
group = "publishing"
|
||||||
|
description = "Publishes to the release repository"
|
||||||
|
dependsOn("publishMavenJavaPublicationToReleaseRepository")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register("publishSnapshot") {
|
||||||
|
group = "publishing"
|
||||||
|
description = "Publishes to the snapshot repository"
|
||||||
|
dependsOn("publishMavenJavaSnapshotPublicationToSnapshotRepository")
|
||||||
|
}
|
||||||
@@ -116,12 +116,21 @@ tasks {
|
|||||||
publishing {
|
publishing {
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
maven {
|
||||||
|
name = "releases"
|
||||||
url = uri("https://repo.momirealms.net/releases")
|
url = uri("https://repo.momirealms.net/releases")
|
||||||
credentials(PasswordCredentials::class) {
|
credentials(PasswordCredentials::class) {
|
||||||
username = System.getenv("REPO_USERNAME")
|
username = System.getenv("REPO_USERNAME")
|
||||||
password = System.getenv("REPO_PASSWORD")
|
password = System.getenv("REPO_PASSWORD")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
maven {
|
||||||
|
name = "snapshot"
|
||||||
|
url = uri("https://repo.momirealms.net/snapshots")
|
||||||
|
credentials(PasswordCredentials::class) {
|
||||||
|
username = System.getenv("REPO_USERNAME")
|
||||||
|
password = System.getenv("REPO_PASSWORD")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
publications {
|
publications {
|
||||||
create<MavenPublication>("mavenJava") {
|
create<MavenPublication>("mavenJava") {
|
||||||
@@ -142,5 +151,35 @@ publishing {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
create<MavenPublication>("mavenJavaSnapshot") {
|
||||||
|
groupId = "net.momirealms"
|
||||||
|
artifactId = "craft-engine-core"
|
||||||
|
version = "${rootProject.properties["project_version"]}-SNAPSHOT"
|
||||||
|
artifact(tasks["sourcesJar"])
|
||||||
|
from(components["shadow"])
|
||||||
|
pom {
|
||||||
|
name = "CraftEngine API"
|
||||||
|
url = "https://github.com/Xiao-MoMi/craft-engine"
|
||||||
|
licenses {
|
||||||
|
license {
|
||||||
|
name = "GNU General Public License v3.0"
|
||||||
|
url = "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||||
|
distribution = "repo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register("publishRelease") {
|
||||||
|
group = "publishing"
|
||||||
|
description = "Publishes to the release repository"
|
||||||
|
dependsOn("publishMavenJavaPublicationToReleaseRepository")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register("publishSnapshot") {
|
||||||
|
group = "publishing"
|
||||||
|
description = "Publishes to the snapshot repository"
|
||||||
|
dependsOn("publishMavenJavaSnapshotPublicationToSnapshotRepository")
|
||||||
|
}
|
||||||
@@ -294,9 +294,8 @@ public class SelfHostHttpServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkIpRateLimit(String clientIp) {
|
private boolean checkIpRateLimit(String clientIp) {
|
||||||
Bucket rateLimiter = ipRateLimiters.get(clientIp, k ->
|
if (limitPerIp == null) return true;
|
||||||
Bucket.builder().addLimit(limitPerIp).build()
|
Bucket rateLimiter = ipRateLimiters.get(clientIp, k -> Bucket.builder().addLimit(limitPerIp).build());
|
||||||
);
|
|
||||||
assert rateLimiter != null;
|
assert rateLimiter != null;
|
||||||
return rateLimiter.tryConsume(1);
|
return rateLimiter.tryConsume(1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ public interface LazyReference<T> {
|
|||||||
|
|
||||||
T get();
|
T get();
|
||||||
|
|
||||||
|
boolean initialized();
|
||||||
|
|
||||||
static <T> LazyReference<T> lazyReference(final Supplier<T> supplier) {
|
static <T> LazyReference<T> lazyReference(final Supplier<T> supplier) {
|
||||||
return new LazyReference<>() {
|
return new LazyReference<>() {
|
||||||
private T value;
|
private T value;
|
||||||
@@ -17,6 +19,11 @@ public interface LazyReference<T> {
|
|||||||
}
|
}
|
||||||
return this.value;
|
return this.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean initialized() {
|
||||||
|
return this.value != null;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user