cmd/hub/util/buffer.go (19 lines of code) (raw):

// Copyright (c) 2022 EPAM Systems, Inc. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. package util import ( "bytes" "sync" ) type Buffer struct { buffer bytes.Buffer mutex sync.Mutex } func (s *Buffer) Write(p []byte) (n int, err error) { s.mutex.Lock() defer s.mutex.Unlock() return s.buffer.Write(p) } func (s *Buffer) String() string { s.mutex.Lock() defer s.mutex.Unlock() return s.buffer.String() }