diff --git a/api/atproto/repouploadBlob.go b/api/atproto/repouploadBlob.go index 40deb9491..0a5c20646 100644 --- a/api/atproto/repouploadBlob.go +++ b/api/atproto/repouploadBlob.go @@ -17,9 +17,9 @@ type RepoUploadBlob_Output struct { } // RepoUploadBlob calls the XRPC method "com.atproto.repo.uploadBlob". -func RepoUploadBlob(ctx context.Context, c lexutil.LexClient, input io.Reader) (*RepoUploadBlob_Output, error) { +func RepoUploadBlob(ctx context.Context, c lexutil.LexClient, input io.Reader, inputEncoding string) (*RepoUploadBlob_Output, error) { var out RepoUploadBlob_Output - if err := c.LexDo(ctx, lexutil.Procedure, "*/*", "com.atproto.repo.uploadBlob", nil, input, &out); err != nil { + if err := c.LexDo(ctx, lexutil.Procedure, inputEncoding, "com.atproto.repo.uploadBlob", nil, input, &out); err != nil { return nil, err } diff --git a/fakedata/generators.go b/fakedata/generators.go index fa684608b..232e8d9e6 100644 --- a/fakedata/generators.go +++ b/fakedata/generators.go @@ -91,7 +91,7 @@ func GenProfile(xrpcc *xrpc.Client, acc *AccountContext, genAvatar, genBanner bo var avatar *lexutil.LexBlob if genAvatar { img := gofakeit.ImagePng(200, 200) - resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img)) + resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img), "") if err != nil { return err } @@ -104,7 +104,7 @@ func GenProfile(xrpcc *xrpc.Client, acc *AccountContext, genAvatar, genBanner bo var banner *lexutil.LexBlob if genBanner { img := gofakeit.ImageJpeg(800, 200) - resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img)) + resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img), "") if err != nil { return err } @@ -175,7 +175,7 @@ func GenPosts(xrpcc *xrpc.Client, catalog *AccountCatalog, acc *AccountContext, var images []*appbsky.EmbedImages_Image if fracImage > 0.0 && rand.Float64() < fracImage { img := gofakeit.ImageJpeg(800, 800) - resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img)) + resp, err := comatproto.RepoUploadBlob(context.TODO(), xrpcc, bytes.NewReader(img), "") if err != nil { return err } diff --git a/lex/type_schema.go b/lex/type_schema.go index 4488f379f..6a88215a8 100644 --- a/lex/type_schema.go +++ b/lex/type_schema.go @@ -57,13 +57,16 @@ func (s *TypeSchema) WriteRPC(w io.Writer, typename, inputname string) error { params := "ctx context.Context, c lexutil.LexClient" inpvar := "nil" - inpenc := "" + inpenc := "\"\"" if s.Input != nil { inpvar = "input" - inpenc = s.Input.Encoding + inpenc = fmt.Sprintf("%q", s.Input.Encoding) switch s.Input.Encoding { - case EncodingCBOR, EncodingCAR, EncodingANY, EncodingMP4: + case EncodingANY: + inpenc = "inputEncoding" + params = fmt.Sprintf("%s, input io.Reader, inputEncoding string", params) + case EncodingCBOR, EncodingCAR, EncodingMP4: params = fmt.Sprintf("%s, input io.Reader", params) case EncodingJSON: params = fmt.Sprintf("%s, input *%s", params, inputname) @@ -180,7 +183,7 @@ func (s *TypeSchema) WriteRPC(w io.Writer, typename, inputname string) error { return fmt.Errorf("can only generate RPC for Query or Procedure (got %s)", s.Type) } - pf("\tif err := c.LexDo(ctx, %s, %q, \"%s\", %s, %s, %s); err != nil {\n", reqtype, inpenc, s.id, queryparams, inpvar, outvar) + pf("\tif err := c.LexDo(ctx, %s, %s, \"%s\", %s, %s, %s); err != nil {\n", reqtype, inpenc, s.id, queryparams, inpvar, outvar) pf("\t\treturn %s\n", errRet) pf("\t}\n\n") pf("\treturn %s\n", outRet)