Skip to content

Instantly share code, notes, and snippets.

View zhu327's full-sized avatar
🥰
Out sick

Timmy zhu327

🥰
Out sick
View GitHub Profile
@zhu327
zhu327 / utils.go
Last active December 27, 2018 02:53
string byte 转换, 不需要申请内存, 对于不可变的byte, 以及临时变量转换有用, 需要变的byte一定不要用
package utils
import (
"reflect"
"unsafe"
)
func BytesToString(b []byte) string {
return *(*string)(unsafe.Pointer(&b))
}
func (s *server) respond(w http.ResponseWriter, r *http.Request, data interface{}, status int) {
w.WriteHeader(status)
if data != nil {
err := json.NewEncoder(w).Encode(data)
s.logf("json encode %s", err)
}
}
func (s *server) decode(w http.ResponseWriter, r *http.Request, v interface{}) error {
return json.NewDecoder(r.Body).Decode(v)
@zhu327
zhu327 / exporter.py
Created April 3, 2020 12:19
Prometheus Exporter
from gevent.wsgi import WSGIServer
from prometheus_client import multiprocess
from prometheus_client import generate_latest, CollectorRegistry, CONTENT_TYPE_LATEST
# Expose metrics.
def app(environ, start_response):
registry = CollectorRegistry()
multiprocess.MultiProcessCollector(registry)
data = generate_latest(registry)
status = '200 OK'
@zhu327
zhu327 / groq.ts
Created April 15, 2024 08:02
groq api proxy with deno deploy
import { serve } from "https://deno.land/std@0.181.0/http/server.ts";
async function handleRequest(request: Request): Promise<Response> {
if (request.method === "OPTIONS") {
return handleOPTIONS(request);
}
const url = new URL(request.url);
url.host = "api.groq.com";
url.pathname = "/openai" + url.pathname;