Skip to content

Instantly share code, notes, and snippets.

View piotrmacha's full-sized avatar
💻

Piotr Macha piotrmacha

💻
View GitHub Profile
const token = pm.globals.get("token");
const tokenExpiresAt = pm.globals.get("token_expires_at");
// If token is null or expired
if (!token || tokenExpiresAt < (new Date()).getTime()) {
// Prepare a request to Keycloak for password grant
const request = {
url: pm.globals.get("sso_url"),
method: 'POST',
@piotrmacha
piotrmacha / s.json
Created April 11, 2021 08:53
http://localhost:8080/v3/api-docs
{"openapi":"3.0.3","info":{"title":"Api Documentation","description":"Api Documentation","termsOfService":"urn:tos","contact":{},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"},"version":"1.0"},"tags":[{"name":"identity-account-api-controller","description":"Identity Account Api Controller"},{"name":"identity-token-api-controller","description":"Identity Token Api Controller"},{"name":"read-operation-handler","description":"Read Operation Handler"},{"name":"regon-api-controller","description":"Regon Api Controller"},{"name":"tenant-api-controller","description":"Tenant Api Controller"},{"name":"vies-api-controller","description":"Vies Api Controller"},{"name":"web-flux-links-handler","description":"Web Flux Links Handler"}],"paths":{"/api/identity/account":{"post":{"tags":["identity-account-api-controller"],"summary":"create","operationId":"createUsingPOST","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIdentityAccountRequest"}}}},
package pl.owlsy.drm;
import com.google.common.primitives.Bytes;
import lombok.RequiredArgsConstructor;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import java.awt.image.BufferedImage;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import io.micronaut.core.async.publisher.Publishers;
import io.micronaut.discovery.ServiceInstance;
import io.micronaut.http.HttpRequest;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MutableHttpRequest;
import io.micronaut.http.MutableHttpResponse;
import io.micronaut.http.annotation.Filter;
import io.micronaut.http.client.LoadBalancer;
import io.micronaut.http.client.ProxyHttpClient;
import io.micronaut.http.filter.OncePerRequestHttpServerFilter;
import io.micronaut.context.annotation.Factory;
import io.micronaut.http.client.LoadBalancer;
import io.micronaut.http.client.loadbalance.DiscoveryClientLoadBalancerFactory;
import javax.inject.Singleton;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
gateway:
services:
- users-service
- auth-service
- info-service
import io.micronaut.context.annotation.ConfigurationProperties;
import lombok.Data;
import java.util.Set;
@Data
@ConfigurationProperties("gateway")
public class GatewayProperties {
private Set<String> services;
}
@piotrmacha
piotrmacha / LRUCache.java
Created January 11, 2021 00:01
LRU Cache implementation in Java
package pl.owlsy.cache;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
public class LRUCache<K, V> implements Cache<K, V> {
private final Map<K, V> cache;
@Controller
public class ForwardController {
@GetMapping(value = {"/home", "/login", "/register", "/logout", "/..."})
public String frontend() {
return "forward:/";
}
}
task buildFrontend(type: Exec) {
if (System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('windows')) {
commandLine 'cmd', '/c', 'cd src/main/frontend && npm run-script build && xcopy build\\* ..\\resources\\static\\ /Y /E '
} else {
commandLine 'sh', '-c', 'cd src/main/frontend && npm run-script build && cp -r build/* ../resources/static/'
}
}
build.dependsOn buildFrontend
bootJar.dependsOn buildFrontend