Compare commits
No commits in common. "master" and "v4.0.10" have entirely different histories.
8
main.go
8
main.go
@ -90,9 +90,6 @@ func (g *Generator) Generate(plugin *protogen.Plugin) error {
|
|||||||
continue
|
continue
|
||||||
case "micro":
|
case "micro":
|
||||||
err = g.microGenerate(component, plugin, genClient, genServer)
|
err = g.microGenerate(component, plugin, genClient, genServer)
|
||||||
if err == nil {
|
|
||||||
err = g.writeErrors(plugin)
|
|
||||||
}
|
|
||||||
case "http":
|
case "http":
|
||||||
err = g.httpGenerate(component, plugin, genClient, genServer)
|
err = g.httpGenerate(component, plugin, genClient, genServer)
|
||||||
case "grpc", "drpc", "rpc":
|
case "grpc", "drpc", "rpc":
|
||||||
@ -116,6 +113,11 @@ func (g *Generator) Generate(plugin *protogen.Plugin) error {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err = g.writeErrors(plugin); err != nil {
|
||||||
|
plugin.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if err = g.astGenerate(plugin); err != nil {
|
if err = g.astGenerate(plugin); err != nil {
|
||||||
plugin.Error(err)
|
plugin.Error(err)
|
||||||
return err
|
return err
|
||||||
|
20
util.go
20
util.go
@ -572,7 +572,7 @@ func (g *Generator) generateClientFuncSignature(gfile *protogen.GeneratedFile, s
|
|||||||
if !method.Desc.IsStreamingClient() && !method.Desc.IsStreamingServer() {
|
if !method.Desc.IsStreamingClient() && !method.Desc.IsStreamingServer() {
|
||||||
args = append(args, "*", gfile.QualifiedGoIdent(method.Output.GoIdent))
|
args = append(args, "*", gfile.QualifiedGoIdent(method.Output.GoIdent))
|
||||||
} else {
|
} else {
|
||||||
args = append(args, gfile.QualifiedGoIdent(protogen.GoIdent{GoName: serviceName + "_" + method.GoName + "Client", GoImportPath: method.Output.GoIdent.GoImportPath}))
|
args = append(args, serviceName, "_", method.GoName, "Client")
|
||||||
}
|
}
|
||||||
args = append(args, ", error) {")
|
args = append(args, ", error) {")
|
||||||
gfile.P(args...)
|
gfile.P(args...)
|
||||||
@ -657,7 +657,7 @@ func (g *Generator) generateServiceServerStreamInterface(gfile *protogen.Generat
|
|||||||
gfile.P("RecvMsg(msg interface{}) error")
|
gfile.P("RecvMsg(msg interface{}) error")
|
||||||
if method.Desc.IsStreamingClient() && !method.Desc.IsStreamingServer() {
|
if method.Desc.IsStreamingClient() && !method.Desc.IsStreamingServer() {
|
||||||
gfile.P("SendAndClose(msg *", gfile.QualifiedGoIdent(method.Output.GoIdent), ") error")
|
gfile.P("SendAndClose(msg *", gfile.QualifiedGoIdent(method.Output.GoIdent), ") error")
|
||||||
// gfile.P("CloseSend() error")
|
gfile.P("CloseSend() error")
|
||||||
}
|
}
|
||||||
gfile.P("Close() error")
|
gfile.P("Close() error")
|
||||||
if method.Desc.IsStreamingClient() {
|
if method.Desc.IsStreamingClient() {
|
||||||
@ -975,10 +975,8 @@ func (g *Generator) writeErrors(plugin *protogen.Plugin) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var gfile *protogen.GeneratedFile
|
var gfile *protogen.GeneratedFile
|
||||||
var importPath protogen.GoImportPath
|
|
||||||
|
|
||||||
if len(errorsMap) > 0 {
|
if len(errorsMap) > 0 {
|
||||||
|
gfile = plugin.NewGeneratedFile("micro_errors.pb.go", ".")
|
||||||
var packageName string
|
var packageName string
|
||||||
|
|
||||||
for _, file := range plugin.Files {
|
for _, file := range plugin.Files {
|
||||||
@ -989,16 +987,9 @@ func (g *Generator) writeErrors(plugin *protogen.Plugin) error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
packageName = string(file.GoPackageName)
|
packageName = string(file.GoPackageName)
|
||||||
importPath = file.GoImportPath
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
if g.standalone {
|
|
||||||
importPath = "."
|
|
||||||
}
|
|
||||||
|
|
||||||
gfile = plugin.NewGeneratedFile("micro_errors.pb.go", importPath)
|
|
||||||
|
|
||||||
gfile.P("// Code generated by protoc-gen-go-micro. DO NOT EDIT.")
|
gfile.P("// Code generated by protoc-gen-go-micro. DO NOT EDIT.")
|
||||||
gfile.P("// protoc-gen-go-micro version: " + versionComment)
|
gfile.P("// protoc-gen-go-micro version: " + versionComment)
|
||||||
gfile.P()
|
gfile.P()
|
||||||
@ -1018,11 +1009,6 @@ func (g *Generator) writeErrors(plugin *protogen.Plugin) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, field := range msg.Fields {
|
|
||||||
if field.GoName == "Error" {
|
|
||||||
return fmt.Errorf("failed generate Error() string interface for %s message %s already have Error field", field.Location.SourceFile, msg.Desc.Name())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gfile.P(`func (m *`, msg.GoIdent.GoName, `) Error() string {`)
|
gfile.P(`func (m *`, msg.GoIdent.GoName, `) Error() string {`)
|
||||||
gfile.P(`buf, _ := marshaler.Marshal(m)`)
|
gfile.P(`buf, _ := marshaler.Marshal(m)`)
|
||||||
gfile.P("return string(buf)")
|
gfile.P("return string(buf)")
|
||||||
|
Loading…
Reference in New Issue
Block a user