Skip to content

Instantly share code, notes, and snippets.

View susamn's full-sized avatar
👶
At home, with family, listening music and learning stuff

Supratim Samanta susamn

👶
At home, with family, listening music and learning stuff
  • Fannie Mae
  • Philadelphia, Pennsylvania
View GitHub Profile
@susamn
susamn / cse-java-aws-v2.xml
Last active October 13, 2022 19:25
Pom for client side encryption
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.17.230</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@susamn
susamn / java-aws-v2-sdk-client-side-encryption.java
Last active October 14, 2022 15:15
AWS JAVA SDK v2 Client Side Encryption
import com.amazonaws.encryptionsdk.AwsCrypto;
import com.amazonaws.encryptionsdk.CommitmentPolicy;
import com.amazonaws.encryptionsdk.CryptoResult;
import com.amazonaws.encryptionsdk.kms.KmsMasterKey;
import com.amazonaws.encryptionsdk.kms.KmsMasterKeyProvider;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.susamn.models.OutboundPayload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@susamn
susamn / handler_server.go
Created December 5, 2021 16:59
Golang Handler Server
func main() {
mux := http.NewServeMux()
ultimateHandler := http.HandlerFunc(myhandler)
mux.Handle("/", logHandler(authHandler(ultimateHandler)))
log.Println("Listening on :3000...")
err := http.ListenAndServe(":3000", mux)
log.Fatal(err)
}
@susamn
susamn / handler_chain.go
Created December 5, 2021 16:29
Golang handler chains
func authHandler(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Println("Executing auth handler")
// Do auth hander stuff
next.ServeHTTP(w, r)
})
}
func logHandler(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@susamn
susamn / myhandler.go
Created December 5, 2021 16:25
Http Handler Pattern
func myhandler(w http.ResponseWriter, r *http.Request) {
log.Println("Executing my handler")
w.Write([]byte("OK"))
}
@susamn
susamn / medium-views-claps.sh
Created November 20, 2021 16:24
Get medium stats in terminal in JSON format
curl -s 'https://medium.com/@susamn/stats?limit=25&bucketType=MONTH&filter=not-response' \
-H 'authority: medium.com' \
-H 'sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-H 'x-obvious-cid: web' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-site: same-origin' \
@susamn
susamn / closure_dynamic_operation.go
Created October 21, 2021 03:32
Closure to create a dynamic function
package main
import (
"fmt"
)
type Data []int
type UnaryOperation func(op int) int
func (d Data) Apply(operation UnaryOperation) Data {
@susamn
susamn / genrics_using_closures.go
Last active October 19, 2021 13:32
Use closures in Golang to write Generic code
package main
import (
"net/http"
)
type Subscriber struct {
Name, Address, LocationId, SubscriptionName string
Tenure int8
BalanceDue float32
@susamn
susamn / with_else.go
Created October 12, 2021 17:27
Avoid using else block, with else
func delegate(data string) (*Response, err){
response, err := backend.call(data)
if err != nil{
return nil, errors.New("The call to backend failed")
}else{
validatedResponse, err := response.validate()
if err != nil{
return nil, errors.New("The response obtained from backend has errors and could not be validated")
}else{
return validatedResponse, nil
@susamn
susamn / avoid_else.go
Created October 12, 2021 17:25
Avoid using else block
func delegate(data string) (*Response, err){
response, err := backend.call(data)
if err != nil{
return nil, errors.New("The call to backend failed")
}
validatedResponse, err := response.validate()
if err != nil{