Skip to content

Instantly share code, notes, and snippets.

View nioe's full-sized avatar

Nicolas Oeschger nioe

View GitHub Profile
@nioe
nioe / .versionrc.js
Last active March 28, 2023 20:09
standard-version configuration file to bump version in gradle projects (build.gradle)
const versionRegex = /version = '(\d+\.\d+\.\d+)'/;
const gradleFile = 'build.gradle';
const gradleFileUpdater = {
filename: gradleFile,
updater: {
readVersion: contents => {
const match = contents.match(versionRegex);
if (match && match[1]) {
@nioe
nioe / .versionrc.js
Created December 21, 2021 18:35
standard-version configuration file to bump version in gradle projects (build.gradle)
const versionRegex = /version = '(\d+\.\d+\.\d+)'/;
const gradleFileUpdater = {
filename: 'build.gradle',
updater: {
readVersion: contents => {
const match = contents.match(versionRegex);
if (match && match[1]) {
return match[1];
package ch.exq.triplog.server.util.json;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class JsonDateTimeAdapter extends XmlAdapter<String, LocalDateTime> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.InjectionPoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerProducer {
@Produces
public Logger produce(InjectionPoint injectionPoint) {
@nioe
nioe / HttpHeader.java
Last active January 30, 2024 20:40
Get remote IP from HttpServletRequest
public enum HttpHeader {
AUTHORIZATION("Authorization"),
AUTHENTICATION_TYPE_BASIC("Basic"),
X_AUTH_TOKEN("X-AUTH-TOKEN"),
WWW_Authenticate("WWW-Authenticate"),
X_FORWARDED_FOR("X-Forwarded-For"),
PROXY_CLIENT_IP("Proxy-Client-IP"),
WL_PROXY_CLIENT_IP("WL-Proxy-Client-IP"),
HTTP_CLIENT_IP("HTTP_CLIENT_IP"),
HTTP_X_FORWARDED_FOR("HTTP_X_FORWARDED_FOR");
@nioe
nioe / FutureCallback.java
Last active August 29, 2015 13:58
Generic implementation to wait for Java EE Futures and run callback after one is done
import java.util.concurrent.ExecutionException;
public interface FutureCallback<CallbackType, FutureType> {
public CallbackType work(FutureProvider<FutureType> futureContainer) throws InterruptedException,
ExecutionException;
}