53 lines
1.4 KiB
Java
53 lines
1.4 KiB
Java
package com.hypherionmc.nightbloom.client.agent;
|
|
|
|
import lombok.Builder;
|
|
|
|
/**
|
|
* @author HypherionSA
|
|
* User Agent constructor helper.
|
|
* Based on https://github.com/masecla22/Modrinth4J/blob/master/src/main/java/masecla/modrinth4j/client/agent/UserAgent.java
|
|
*/
|
|
@Builder
|
|
public class UserAgent {
|
|
|
|
// User Agent variables
|
|
private String projectName;
|
|
private String authorName;
|
|
private String projectVersion;
|
|
private String contact;
|
|
|
|
/**
|
|
* Override the toString method to return the constructed User Agent string
|
|
* @return The User Agent String to be added as a header
|
|
*/
|
|
@Override
|
|
public String toString() {
|
|
if (projectName == null && authorName == null && contact == null)
|
|
return "Nightbloom4j / No User Agent";
|
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
|
if (projectName != null) {
|
|
if (authorName != null) {
|
|
result.append(authorName).append("/").append(projectName);
|
|
} else {
|
|
result.append(projectName);
|
|
}
|
|
} else {
|
|
if (authorName != null) {
|
|
result.append(authorName);
|
|
}
|
|
}
|
|
|
|
if (projectVersion != null) {
|
|
result.append("/").append(projectVersion);
|
|
}
|
|
|
|
if (contact != null) {
|
|
result.append(" (").append(contact).append(")");
|
|
}
|
|
|
|
return result.toString().trim();
|
|
}
|
|
}
|