cblocks.go 888 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package cblocks
  2. import (
  3. "html/template"
  4. )
  5. type cache struct {
  6. CacheBlock1 map[string]template.HTML
  7. CacheBlock2 map[string]template.HTML
  8. CacheBlock3 map[string]template.HTML
  9. CacheBlock4 map[string]template.HTML
  10. CacheBlock5 map[string]template.HTML
  11. }
  12. type CacheBlocks struct {
  13. cacheBlocks map[string]cache
  14. }
  15. func New() *CacheBlocks {
  16. return &CacheBlocks{
  17. cacheBlocks: map[string]cache{},
  18. }
  19. }
  20. func (this *CacheBlocks) prepare(host string) {
  21. if _, ok := this.cacheBlocks[host]; !ok {
  22. this.cacheBlocks[host] = cache{
  23. CacheBlock1: map[string]template.HTML{},
  24. CacheBlock2: map[string]template.HTML{},
  25. CacheBlock3: map[string]template.HTML{},
  26. CacheBlock4: map[string]template.HTML{},
  27. CacheBlock5: map[string]template.HTML{},
  28. }
  29. }
  30. }
  31. func (this *CacheBlocks) Reset(host string) {
  32. if _, ok := this.cacheBlocks[host]; ok {
  33. delete(this.cacheBlocks, host)
  34. }
  35. }