|
@ -66,10 +66,10 @@ func BuildQueryControl(queries Parameters, table *xql.Table, qmaker QueryMaker, |
|
|
delete(queries, QCtrlExcludes) |
|
|
delete(queries, QCtrlExcludes) |
|
|
} |
|
|
} |
|
|
for k, v := range includeFields { |
|
|
for k, v := range includeFields { |
|
|
if ! v { |
|
|
|
|
|
|
|
|
if !v { |
|
|
continue |
|
|
continue |
|
|
} |
|
|
} |
|
|
if c, ok := table.GetColumn(k); ! ok { |
|
|
|
|
|
|
|
|
if c, ok := table.GetColumn(k); !ok { |
|
|
return qc, errors.New("Invalid column:" + k) |
|
|
return qc, errors.New("Invalid column:" + k) |
|
|
} else { |
|
|
} else { |
|
|
qc.Includes = append(qc.Includes, c.FieldName) |
|
|
qc.Includes = append(qc.Includes, c.FieldName) |
|
@ -97,7 +97,7 @@ func BuildQueryControl(queries Parameters, table *xql.Table, qmaker QueryMaker, |
|
|
return qc, fmt.Errorf("invalid expression: %s", k) |
|
|
return qc, fmt.Errorf("invalid expression: %s", k) |
|
|
} |
|
|
} |
|
|
c, ok := table.GetColumn(keys[0]) |
|
|
c, ok := table.GetColumn(keys[0]) |
|
|
if ! ok { |
|
|
|
|
|
|
|
|
if !ok { |
|
|
//return nil, fmt.Errorf("unknow column: %s", keys[0])
|
|
|
//return nil, fmt.Errorf("unknow column: %s", keys[0])
|
|
|
qc.Params[k] = v |
|
|
qc.Params[k] = v |
|
|
continue |
|
|
continue |
|
@ -160,9 +160,9 @@ func BuildQueryControl(queries Parameters, table *xql.Table, qmaker QueryMaker, |
|
|
if len(keys) == 3 { |
|
|
if len(keys) == 3 { |
|
|
switch strings.ToUpper(keys[2]) { |
|
|
switch strings.ToUpper(keys[2]) { |
|
|
case "AND": |
|
|
case "AND": |
|
|
f.Condition = xql.CONDITION_AND |
|
|
|
|
|
|
|
|
f.Condition = xql.ConditionAnd |
|
|
case "OR": |
|
|
case "OR": |
|
|
f.Condition = xql.CONDITION_OR |
|
|
|
|
|
|
|
|
f.Condition = xql.ConditionOr |
|
|
default: |
|
|
default: |
|
|
return qc, fmt.Errorf("unknow condition: %s", keys[2]) |
|
|
return qc, fmt.Errorf("unknow condition: %s", keys[2]) |
|
|
} |
|
|
} |
|
@ -239,7 +239,7 @@ func MakeRestletHandler(h RestletHandler, predictor RequestPredictor, ctxProvide |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if ! MatchMethod(request.Method, methods) { |
|
|
|
|
|
|
|
|
if !MatchMethod(request.Method, methods) { |
|
|
if request.Method == "OPTIONS" { |
|
|
if request.Method == "OPTIONS" { |
|
|
if methods[0] == "*" { |
|
|
if methods[0] == "*" { |
|
|
methods = []string{"HEAD", "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"} |
|
|
methods = []string{"HEAD", "GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"} |
|
|