현재 block된 정보를 조회
This commit is contained in:
10
core/api.go
10
core/api.go
@ -161,8 +161,14 @@ func (caller apiCaller) uploadAPI(w http.ResponseWriter, r *http.Request) error
|
|||||||
func (caller apiCaller) blockAPI(w http.ResponseWriter, r *http.Request) error {
|
func (caller apiCaller) blockAPI(w http.ResponseWriter, r *http.Request) error {
|
||||||
mg := caller.mg
|
mg := caller.mg
|
||||||
if r.Method == "GET" {
|
if r.Method == "GET" {
|
||||||
enc := json.NewEncoder(w)
|
target, ok := gocommon.ReadObjectIDFormValue(r.Form, "accid")
|
||||||
enc.Encode(mg.bl.all())
|
if ok {
|
||||||
|
json.NewEncoder(w).Encode(mg.bl.all())
|
||||||
|
} else if !target.IsZero() {
|
||||||
|
if blocked, ok := mg.bl.get(target); ok && blocked != nil {
|
||||||
|
json.NewEncoder(w).Encode(blocked)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if r.Method == "PUT" {
|
} else if r.Method == "PUT" {
|
||||||
body, _ := io.ReadAll(r.Body)
|
body, _ := io.ReadAll(r.Body)
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,14 @@ func (p *memberContainerPtr[K, T]) add(m T) {
|
|||||||
atomic.StorePointer(&p.ptr, unsafe.Pointer(&next))
|
atomic.StorePointer(&p.ptr, unsafe.Pointer(&next))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *memberContainerPtr[K, T]) get(key K) (T, bool) {
|
||||||
|
ptr := atomic.LoadPointer(&p.ptr)
|
||||||
|
src := (*map[K]T)(ptr)
|
||||||
|
|
||||||
|
out, found := (*src)[key]
|
||||||
|
return out, found
|
||||||
|
}
|
||||||
|
|
||||||
func (p *memberContainerPtr[K, T]) remove(key K) {
|
func (p *memberContainerPtr[K, T]) remove(key K) {
|
||||||
ptr := atomic.LoadPointer(&p.ptr)
|
ptr := atomic.LoadPointer(&p.ptr)
|
||||||
src := (*map[K]T)(ptr)
|
src := (*map[K]T)(ptr)
|
||||||
|
|||||||
Reference in New Issue
Block a user