code: func (h *Handler) GetClaims(req *ClaimsRequest) (*ClaimsResponse, error) {
  	if !req.Permanode.Valid() {
  		return nil, errors.New("error getting claims: nil permanode")
  	}
  	h.index.RLock()
  	defer h.index.RUnlock()
  
  	ctx := context.TODO()
  	var claims []camtypes.Claim
  	claims, err := h.index.AppendClaims(ctx, claims, req.Permanode, h.owner.KeyID(), req.AttrFilter)
  	if err != nil {
  		return nil, fmt.Errorf("Error getting claims of %s: %v", req.Permanode.String(), err)
  	}
  	sort.Sort(camtypes.ClaimsByDate(claims))
  	var jclaims []*ClaimsItem
  	for _, claim := range claims {
  		jclaim := &ClaimsItem{
  			BlobRef:   claim.BlobRef,
  			Signer:    claim.Signer,
  			Permanode: claim.Permanode,
  			Date:      types.Time3339(claim.Date),
  			Type:      claim.Type,
  			Attr:      claim.Attr,
  			Value:     claim.Value,
  		}
  		jclaims = append(jclaims, jclaim)
  	}
  
  	res := &ClaimsResponse{
  		Claims: jclaims,
  	}
  	return res, nil
  }
docs: // GetClaims returns the claims on req.Permanode signed by h.owner.