Skip to content

Instantly share code, notes, and snippets.

View Ananto30's full-sized avatar
🎯
Focusing

Azizul Haque Ananto Ananto30

🎯
Focusing
View GitHub Profile
import uuid
from datetime import datetime
from app.serializers import CreateOrderReq, GetOrderReq, OrderResp
from .model import Order, OrderStatus
from .repository import get_order as query_order
from .repository import save_order
from .model import Order
from datetime import datetime
def save_order(order: Order) -> Order:
order.updated_at = datetime.now().isoformat()
Order.orders[order.id] = order
return order
from ..serialization_types import Btypes
class CreateOrderReq(Btypes):
def __init__(self, user_id: str, items: list):
self.user_id = user_id
self.items = items
class GetOrderReq(Btypes):
from ..serialization_types import Etypes, type_check
from .serializer import CreateOrderReq
class OrderOperations:
CREATE_ORDER = 'create_order'
GET_ORDER = 'get_order'
class CreateOrder(Etypes):
from app.serializers.serialization_types import Btypes
class OrderStatus:
INITIATED = 0
PACKING = 1
SHIPPED = 2
DELIVERED = 3
import msgpack
class Btypes:
def pack(self):
return msgpack.packb(Btypes.get_all_vars(self))
@classmethod
def unpack(cls, d):
return cls(**msgpack.unpackb(d, raw=False))
@Ananto30
Ananto30 / python_singleton.py
Created March 22, 2020 12:30
Singleton implementation in Python
class SingletonMeta(type):
_instance = None
def __call__(self):
if self._instance is None:
self._instance = super().__call__()
return self._instance
@Component
@Slf4j
public class TraceIdFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
Map<String, String> headers = exchange.getRequest().getHeaders().toSingleValueMap();
var traceId = "";
if (headers.containsKey("X-B3-TRACEID")) {
@Component
@Slf4j
public class TraceIdFilter implements WebFilter {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
Map<String, String> headers = exchange.getRequest().getHeaders().toSingleValueMap();
return chain.filter(exchange)
.subscriberContext(context -> {
public abstract class AbstractWebClient {
private static final String MIME_TYPE = "application/json";
private final WebClient webClient;
public AbstractWebClient(String clientUrl) {
this.webClient = WebClient.builder()
.baseUrl(clientUrl)
.defaultHeader(HttpHeaders.CONTENT_TYPE, MIME_TYPE)
.build();