func (c *CacheStorage) RequestCacheNames(ctx context.Context, securityOrigin string) ([]*CacheStorageCache, error) {
	var v CacheStorageRequestCacheNamesParams
	v.SecurityOrigin = securityOrigin
	return c.RequestCacheNamesWithParams(ctx, &v)
}
RequestCacheNames - Requests cache names.
securityOrigin - Security origin.
Returns -  caches - Caches for the security origin.
package gcdapi
import (
	"context"
	"github.com/wirepair/gcd/v2/gcdmessage"
)
type CacheStorageDataEntry struct {
	RequestURL         string                `json:"requestURL"`          
	RequestMethod      string                `json:"requestMethod"`       
	RequestHeaders     []*CacheStorageHeader `json:"requestHeaders"`      
	ResponseTime       float64               `json:"responseTime"`        
	ResponseStatus     int                   `json:"responseStatus"`      
	ResponseStatusText string                `json:"responseStatusText"`  
	ResponseType       string                `json:"responseType"`        
	ResponseHeaders    []*CacheStorageHeader `json:"responseHeaders"`     
}
type CacheStorageCache struct {
	CacheId        string `json:"cacheId"`         
	SecurityOrigin string `json:"securityOrigin"`  
	CacheName      string `json:"cacheName"`       
}
type CacheStorageHeader struct {
	Name  string `json:"name"`   
	Value string `json:"value"`  
}
type CacheStorageCachedResponse struct {
	Body string `json:"body"`  
}
type CacheStorage struct {
	target gcdmessage.ChromeTargeter
}
func NewCacheStorage(target gcdmessage.ChromeTargeter) *CacheStorage {
	c := &CacheStorage{target: target}
	return c
}
type CacheStorageDeleteCacheParams struct {
	CacheId string `json:"cacheId"`
}
func (c *CacheStorage) DeleteCacheWithParams(ctx context.Context, v *CacheStorageDeleteCacheParams) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "CacheStorage.deleteCache", Params: v})
}
func (c *CacheStorage) DeleteCache(ctx context.Context, cacheId string) (*gcdmessage.ChromeResponse, error) {
	var v CacheStorageDeleteCacheParams
	v.CacheId = cacheId
	return c.DeleteCacheWithParams(ctx, &v)
}
type CacheStorageDeleteEntryParams struct {
	CacheId string `json:"cacheId"`
	Request string `json:"request"`
}
func (c *CacheStorage) DeleteEntryWithParams(ctx context.Context, v *CacheStorageDeleteEntryParams) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "CacheStorage.deleteEntry", Params: v})
}
func (c *CacheStorage) DeleteEntry(ctx context.Context, cacheId string, request string) (*gcdmessage.ChromeResponse, error) {
	var v CacheStorageDeleteEntryParams
	v.CacheId = cacheId
	v.Request = request
	return c.DeleteEntryWithParams(ctx, &v)
}
type CacheStorageRequestCacheNamesParams struct {
	SecurityOrigin string `json:"securityOrigin"`
}
func (c *CacheStorage) RequestCacheNamesWithParams(ctx context.Context, v *CacheStorageRequestCacheNamesParams) ([]*CacheStorageCache, error) {
	resp, err := c.target.SendCustomReturn(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "CacheStorage.requestCacheNames", Params: v})
	if err != nil {
		return nil, err
	}
	var chromeData struct {
		Result struct {
			Caches []*CacheStorageCache
		}
	}
	if resp == nil {
		return nil, &gcdmessage.ChromeEmptyResponseErr{}
	}
	cerr := &gcdmessage.ChromeErrorResponse{}
	json.Unmarshal(resp.Data, cerr)
	if cerr != nil && cerr.Error != nil {
		return nil, &gcdmessage.ChromeRequestErr{Resp: cerr}
	}
	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
		return nil, err
	}
	return chromeData.Result.Caches, nil
}