Skip to content

Instantly share code, notes, and snippets.

@sandipchitale
sandipchitale / docs.html
Created April 24, 2021 18:54
Zuul Docs #zuul
<a href="https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html">Zuul Docs</a>
@sandipchitale
sandipchitale / UUIDGen.java
Created April 24, 2021 19:14
UUIDGen #UUID
package com.example.zuuldemo;
import java.util.UUID;
import java.util.stream.IntStream;
public class UUIDGen {
public static void main(String[] args) {
IntStream.range(1, 100)
.forEach((i) -> {
System.out.println(UUID.nameUUIDFromBytes(String.valueOf(System.currentTimeMillis()).getBytes()).toString().replace("-", "") + " millis: " + System.currentTimeMillis());
@sandipchitale
sandipchitale / dumpAllBeans.java
Created April 24, 2021 19:15
Dump all bean names #springboot
@Component
public class CommandLineAppStartupRunner implements CommandLineRunner, ApplicationContextAware {
private ApplicationContext applicationContext;
@Override
public void run(String... args) throws Exception {
String[] beanNames = this.applicationContext.getBeanDefinitionNames();
Arrays.stream(beanNames).forEach((beanName) -> {
System.out.println(beanName);
@sandipchitale
sandipchitale / SocketTimeoutHeaderRouteFilter.java
Last active April 26, 2021 01:36
SocketTimeoutHeaderRouteFilter #zuul
import javax.servlet.http.HttpServletRequest;
import org.apache.http.HttpRequest;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.InputStreamEntity;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@sandipchitale
sandipchitale / PropertiesApplication.java
Created April 26, 2021 01:18
Stale Session Managerment #springboot
package com.example.properties;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@sandipchitale
sandipchitale / SharedObjects.java
Last active May 5, 2021 02:20
HttpSecurity sharedObjects #spring-security
// This is where security filter chains are built
// @Override
// protected DefaultSecurityFilterChain performBuild() {
// this.filters.sort(this.comparator);
// return new DefaultSecurityFilterChain(this.requestMatcher, this.filters);
// }
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter$UserDetailsServiceDelegator
org.springframework.security.authentication.AuthenticationTrustResolverImpl
org.springframework.security.oauth2.provider.endpoint.FrameworkEndpointHandlerMapping
@sandipchitale
sandipchitale / settings.json
Last active May 5, 2021 05:09
Hide deprication warning in Java editor #vscode #java
"workbench.colorCustomizations": {
/* error squiggles */
// "editorError.foreground": "#6060ff",
/* warning squggles */
"editorWarning.foreground": "#000000",
/* info squiggles */
// "editorInfo.foreground": "#35ffab"
}
@sandipchitale
sandipchitale / speechvoices.bat
Created May 5, 2021 05:35
List speech voices on windows #windows
powershell "Add-Type -AssemblyName System.speech;" ^
"$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer;" ^
"$speak.GetInstalledVoices()" ^
"| foreach { $_.VoiceInfo.Name }"
@sandipchitale
sandipchitale / BeanNames.java
Last active July 14, 2023 03:14
Beans #springboot #beans
public static void main(String[] args) {
ConfigurableApplicationContext configurableApplicationContext = SpringApplication.run(BeansApplication.class, args);
Arrays.stream(configurableApplicationContext.getBeanDefinitionNames()).forEach(System.out::println);
}
@sandipchitale
sandipchitale / LdapGroupsProvider.java
Last active May 6, 2021 04:41
Find all groups in LDAP #springboot #ldap
public static class LdapGroupsProvider {
private List<String> groups = new ArrayList<>();
@Override
public List<String> getGroups() {
groups.clear();
final DefaultSpringSecurityContextSource contextSource =
new DefaultSpringSecurityContextSource("ldap://localhost:8389/dc=springframework,dc=org");
contextSource.setAnonymousReadOnly(true);
contextSource.afterPropertiesSet();