Skip to content

Instantly share code, notes, and snippets.

View libetl's full-sized avatar

LiBe libetl

View GitHub Profile
@libetl
libetl / CreditCard.kt
Last active December 30, 2023 20:24
How Client-Side Encryption works
package com.mycompany.myservice.domain.payment.card
import com.mycompany.myservice.infra.serialization.CreditCardNumberDeserializer
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonValue
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import java.time.YearMonth
data class CreditCard(
val holderName: String = "UNKNOWN",
@libetl
libetl / Endpoint.kt
Created November 30, 2023 20:34
soap with spring-webmvc
package com.company.service.mysoapservice.infra.controller
import com.company.service.mysoapservice.transverse.xml.ResponseUtils.inSoapEnvelope
import com.company.service.mysoapservice.transverse.xml.ResponseUtils.`→`
import com.company.service.mysoapservice.transverse.xml.ResponseUtils.`↘`
import com.company.service.mysoapservice.transverse.xml.XmlBuilder.invoke
import org.springframework.beans.factory.annotation.Value
import org.springframework.http.HttpEntity
import org.springframework.http.HttpHeaders
import org.springframework.http.MediaType
@libetl
libetl / AWS4.java
Last active October 31, 2023 19:30
Vanilla http-client
package com.mycompany.tools.aws;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
@libetl
libetl / GenericSearchConfiguration.kt
Last active September 30, 2023 21:09
Generic search engine for JPA
package com.mycompany.myservice.search.config
import com.mycompany.myservice.search.servlet.SearchEngineDelegateController
import com.fasterxml.jackson.databind.ObjectMapper
import jakarta.persistence.EntityManager
import org.springframework.beans.factory.BeanFactory
import org.springframework.beans.factory.ObjectProvider
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.MessageSource
@libetl
libetl / loadDependenciesFromWindow.js
Created August 31, 2023 16:48
loadDependenciesFromWindow.js
const path = await import('node:path')
const loadDependenciesFromWindow = (mapping) => (
{
name: "load-dependencies-from-window",
setup(build) {
build.onResolve({ filter: /.*/ }, (args) => {
const condition = args.kind === 'import-statement'
&& !args.path.startsWith('.') && !args.path.startsWith('/')
const result = ({
@libetl
libetl / index.cjs
Created May 6, 2023 11:41
common-js entrypoint for projects that are only available as ecmascript modules
const Module = require('module')
const orig = Module._extensions['.js']
const fs = require('fs')
const delegateEcmascriptModulePath = '../esm/index.js';
const dependenciesInEcmascriptModulesOnly = [basename(__dirname) + "/esm/", "/del/", "/p-map/"];
Module._extensions['.js'] = function (module, filename) {
try {
return orig(module, filename)
@libetl
libetl / test-runner.ts
Created March 31, 2023 21:13
test-runner.ts
let currentSuiteName = "";
let testPromises: (() => Promise<any>)[] = [];
let beforeAllHooks: (() => void | Promise<void>)[] = [];
let afterAllHooks: (() => void | Promise<void>)[] = [];
let beforeEachHooks: (() => void)[] = [];
let afterEachHooks: (() => void)[] = [];
let testsInError: { [testName: string]: Error } = {};
export const describe = async (suiteName: string, callback: Function) => {
currentSuiteName = suiteName;
@libetl
libetl / msw-to-intercept-connector.ts
Last active April 9, 2024 08:26
msw-to-intercept-connector. instead of reading its('request.body'), use its('request.jsonBody')
import { HttpHandler } from 'msw'
import { setupWorker, type SetupWorker } from 'msw/browser'
export function prepareWorker(workerHolder: { worker: SetupWorker | undefined }, prefix: string, mockHandlers: (() => HttpHandler)[], callback: () => void) {
if (!workerHolder.worker) {
workerHolder.worker = setupWorker()
workerHolder.worker
.start({
serviceWorker: {
url: `${prefix}/mockServiceWorker.js`,
@libetl
libetl / RawSocketSender.kt
Last active January 31, 2023 18:31
fluent-logger-java jakarta EE
package com.mycompany.service.fluentd
// this class is a fork of the fluent-logger-java library
import org.msgpack.core.MessagePack
import java.io.BufferedOutputStream
import java.io.IOException
import java.math.BigInteger
import java.net.InetSocketAddress
import java.net.Socket
@libetl
libetl / CustomLogbackSystemFactory.kt
Created December 31, 2022 13:55
Custom logback Joran Configuration in spring boot 3
package com.company.myservice.tool
import ch.qos.logback.classic.Level
import ch.qos.logback.classic.Logger
import ch.qos.logback.classic.LoggerContext
import ch.qos.logback.classic.joran.JoranConfigurator
import ch.qos.logback.classic.turbo.TurboFilter
import ch.qos.logback.core.spi.FilterReply
import ch.qos.logback.core.status.Status
import ch.qos.logback.core.status.StatusUtil