@@ -100,27 +100,31 @@ func newFormat(source string, quiet bool) formatter.Format {
100100
101101// formatWrite writes the context.
102102func formatWrite (fmtCtx formatter.Context , nodes []swarm.Node , info system.Info ) error {
103- render := func (format func (subContext formatter.SubContext ) error ) error {
103+ nodeCtx := & nodeContext {
104+ HeaderContext : formatter.HeaderContext {
105+ Header : formatter.SubHeaderContext {
106+ "ID" : nodeIDHeader ,
107+ "Self" : selfHeader ,
108+ "Hostname" : hostnameHeader ,
109+ "Status" : formatter .StatusHeader ,
110+ "Availability" : availabilityHeader ,
111+ "ManagerStatus" : managerStatusHeader ,
112+ "EngineVersion" : engineVersionHeader ,
113+ "TLSStatus" : tlsStatusHeader ,
114+ },
115+ },
116+ }
117+ return fmtCtx .Write (nodeCtx , func (format func (subContext formatter.SubContext ) error ) error {
104118 for _ , node := range nodes {
105- nodeCtx := & nodeContext {n : node , info : info }
106- if err := format (nodeCtx ); err != nil {
119+ if err := format (& nodeContext {
120+ n : node ,
121+ info : info ,
122+ }); err != nil {
107123 return err
108124 }
109125 }
110126 return nil
111- }
112- nodeCtx := nodeContext {}
113- nodeCtx .Header = formatter.SubHeaderContext {
114- "ID" : nodeIDHeader ,
115- "Self" : selfHeader ,
116- "Hostname" : hostnameHeader ,
117- "Status" : formatter .StatusHeader ,
118- "Availability" : availabilityHeader ,
119- "ManagerStatus" : managerStatusHeader ,
120- "EngineVersion" : engineVersionHeader ,
121- "TLSStatus" : tlsStatusHeader ,
122- }
123- return fmtCtx .Write (& nodeCtx , render )
127+ })
124128}
125129
126130type nodeContext struct {
@@ -184,7 +188,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
184188 if fmtCtx .Format != nodeInspectPrettyTemplate {
185189 return inspect .Inspect (fmtCtx .Output , refs , string (fmtCtx .Format ), getRef )
186190 }
187- render := func (format func (subContext formatter.SubContext ) error ) error {
191+ return fmtCtx . Write ( & nodeInspectContext {}, func (format func (subContext formatter.SubContext ) error ) error {
188192 for _ , ref := range refs {
189193 nodeI , _ , err := getRef (ref )
190194 if err != nil {
@@ -199,8 +203,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
199203 }
200204 }
201205 return nil
202- }
203- return fmtCtx .Write (& nodeInspectContext {}, render )
206+ })
204207}
205208
206209type nodeInspectContext struct {
0 commit comments