Simple S3-like server for development purposes, written in Go
at main 1.0 kB view raw
1package main 2 3import "encoding/xml" 4 5// https://docs.aws.amazon.com/AmazonS3/latest/API/API_Bucket.html 6type Bucket struct { 7 Name string `xml:"Name"` 8 CreationDate string `xml:"CreationDate"` 9} 10 11// https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html 12type Object struct { 13 Key string `xml:"Key"` 14 LastModified string `xml:"LastModified"` 15 // ETag 16 Size int64 `xml:"Size"` 17 // StorageClass 18} 19 20type Buckets struct { 21 Buckets []Bucket `xml:"Bucket"` 22} 23 24// https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html 25type ListAllMyBucketsResult struct { 26 XMLName xml.Name `xml:"ListAllMyBucketsResult"` 27 Buckets Buckets `xml:"Buckets"` 28} 29 30// https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html 31type ListBucketResult struct { 32 XMLName xml.Name `xml:"ListBucketResult"` 33 Name string `xml:"Name"` 34 Prefix string `xml:"Prefix"` 35 KeyCount int64 `xml:"KeyCount"` 36 IsTruncated bool `xml:"IsTruncated"` 37 Contents []Object `xml:"Contents"` 38}