From 81f36df910533de63dc5ac66f38b5481961cc0c8 Mon Sep 17 00:00:00 2001 From: Taylor Gerring Date: Thu, 26 Mar 2015 20:31:00 +0100 Subject: CompileArgs --- rpc/args.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'rpc/args.go') diff --git a/rpc/args.go b/rpc/args.go index c11ffa3cc..0169ece58 100644 --- a/rpc/args.go +++ b/rpc/args.go @@ -617,14 +617,18 @@ type CompileArgs struct { func (args *CompileArgs) UnmarshalJSON(b []byte) (err error) { var obj []interface{} - r := bytes.NewReader(b) - if err := json.NewDecoder(r).Decode(&obj); err != nil { + if err := json.Unmarshal(b, &obj); err != nil { return NewDecodeParamError(err.Error()) } - if len(obj) > 0 { - args.Source = obj[0].(string) + if len(obj) < 1 { + return NewInsufficientParamsError(len(obj), 1) + } + argstr, ok := obj[0].(string) + if !ok { + return NewInvalidTypeError("arg0", "is not a string") } + args.Source = argstr return nil } -- cgit