mirror of
https://github.com/go-gitea/gitea.git
synced 2024-08-25 13:47:26 +02:00
* Add a storage layer for attachments * Fix some bug * fix test * Fix copyright head and lint * Fix bug * Add setting for minio and flags for migrate-storage * Add documents * fix lint * Add test for minio store type on attachments * fix test * fix test * Apply suggestions from code review Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> * Add warning when storage migrated successfully * Fix drone * fix test * rebase * Fix test * display the error on console * Move minio test to amd64 since minio docker don't support arm64 * refactor the codes * add trace * Fix test * remove log on xorm * Fi download bug * Add a storage layer for attachments * Add setting for minio and flags for migrate-storage * fix lint * Add test for minio store type on attachments * Apply suggestions from code review Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> * Fix drone * fix test * Fix test * display the error on console * Move minio test to amd64 since minio docker don't support arm64 * refactor the codes * add trace * Fix test * Add URL function to serve attachments directly from S3/Minio * Add ability to enable/disable redirection in attachment configuration * Fix typo * Add a storage layer for attachments * Add setting for minio and flags for migrate-storage * fix lint * Add test for minio store type on attachments * Apply suggestions from code review Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> * Fix drone * fix test * Fix test * display the error on console * Move minio test to amd64 since minio docker don't support arm64 * don't change unrelated files * Fix lint * Fix build * update go.mod and go.sum * Use github.com/minio/minio-go/v6 * Remove unused function * Upgrade minio to v7 and some other improvements * fix lint * Fix go mod Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: Tyler <tystuyfzand@gmail.com>
79 lines
1.7 KiB
Go
Vendored
79 lines
1.7 KiB
Go
Vendored
package reflect2
|
|
|
|
import (
|
|
"reflect"
|
|
"unsafe"
|
|
)
|
|
|
|
type safeType struct {
|
|
reflect.Type
|
|
cfg *frozenConfig
|
|
}
|
|
|
|
func (type2 *safeType) New() interface{} {
|
|
return reflect.New(type2.Type).Interface()
|
|
}
|
|
|
|
func (type2 *safeType) UnsafeNew() unsafe.Pointer {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) Elem() Type {
|
|
return type2.cfg.Type2(type2.Type.Elem())
|
|
}
|
|
|
|
func (type2 *safeType) Type1() reflect.Type {
|
|
return type2.Type
|
|
}
|
|
|
|
func (type2 *safeType) PackEFace(ptr unsafe.Pointer) interface{} {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) Implements(thatType Type) bool {
|
|
return type2.Type.Implements(thatType.Type1())
|
|
}
|
|
|
|
func (type2 *safeType) RType() uintptr {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) Indirect(obj interface{}) interface{} {
|
|
return reflect.Indirect(reflect.ValueOf(obj)).Interface()
|
|
}
|
|
|
|
func (type2 *safeType) UnsafeIndirect(ptr unsafe.Pointer) interface{} {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) LikePtr() bool {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) IsNullable() bool {
|
|
return IsNullable(type2.Kind())
|
|
}
|
|
|
|
func (type2 *safeType) IsNil(obj interface{}) bool {
|
|
if obj == nil {
|
|
return true
|
|
}
|
|
return reflect.ValueOf(obj).Elem().IsNil()
|
|
}
|
|
|
|
func (type2 *safeType) UnsafeIsNil(ptr unsafe.Pointer) bool {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) Set(obj interface{}, val interface{}) {
|
|
reflect.ValueOf(obj).Elem().Set(reflect.ValueOf(val).Elem())
|
|
}
|
|
|
|
func (type2 *safeType) UnsafeSet(ptr unsafe.Pointer, val unsafe.Pointer) {
|
|
panic("does not support unsafe operation")
|
|
}
|
|
|
|
func (type2 *safeType) AssignableTo(anotherType Type) bool {
|
|
return type2.Type1().AssignableTo(anotherType.Type1())
|
|
}
|