(r requestParser, indexName string, indexDefsByName map[string]*cbgt.IndexDef)
| 485 | } |
| 486 | |
| 487 | func findCouchbaseSourceNames(r requestParser, indexName string, |
| 488 | indexDefsByName map[string]*cbgt.IndexDef) (rv []string, err error) { |
| 489 | indexDef, err := r.GetIndexDef() |
| 490 | if err != nil || indexDef == nil { |
| 491 | return nil, err |
| 492 | } |
| 493 | |
| 494 | if indexDef.Type == "fulltext-index" { |
| 495 | t, reqType := r.GetRequest() |
| 496 | req := t.(*http.Request) |
| 497 | // TODO handle this for RPCs. |
| 498 | if reqType == "REST" { |
| 499 | sourceType, _ := rest.ExtractSourceTypeName(req, indexDef, indexName) |
| 500 | if sourceType == cbgt.SOURCE_GOCOUCHBASE || sourceType == cbgt.SOURCE_GOCBCORE { |
| 501 | return getSourceNamesFromIndexDef(indexDef) |
| 502 | } |
| 503 | } |
| 504 | } else if indexDef.Type == "fulltext-alias" { |
| 505 | // create a copy of indexDefNames with the new one added |
| 506 | futureIndexDefsByName := make(map[string]*cbgt.IndexDef, |
| 507 | len(indexDefsByName)+1) |
| 508 | for k, v := range indexDefsByName { |
| 509 | futureIndexDefsByName[k] = v |
| 510 | } |
| 511 | futureIndexDefsByName[indexName] = indexDef |
| 512 | |
| 513 | return sourceNamesForAlias(indexName, futureIndexDefsByName, 0) |
| 514 | } |
| 515 | |
| 516 | return nil, nil |
| 517 | } |
| 518 | |
| 519 | type CBAuthBasicLogin struct { |
| 520 | mgr *cbgt.Manager |
no test coverage detected