@@ -79,6 +79,21 @@ pub fn start(self: *Server) !void {
79
79
}
80
80
}
81
81
}
82
+ const r2 = try helper .readFile (self .allocator , "/etc/.z/env.json" );
83
+ if (r2 ) | r1 | {
84
+ defer self .allocator .free (r1 .b );
85
+ const p = try std .json .parseFromSlice ([][]u8 , self .allocator , r1 .b [0.. r1 .n ], .{ .allocate = .alloc_always });
86
+ defer p .deinit ();
87
+ for (p .value ) | v | {
88
+ var it = std .mem .splitScalar (u8 , v , '=' );
89
+ const k0 = it .next ();
90
+ const v0 = it .next ();
91
+ if (k0 != null and v0 != null ) {
92
+ // put will copy all the memory of parameters
93
+ try self .envs .put (k0 .? , v0 .? );
94
+ }
95
+ }
96
+ }
82
97
const r = try helper .readFile (self .allocator , "/etc/.z/command.json" );
83
98
if (r ) | r1 | {
84
99
defer self .allocator .free (r1 .b );
@@ -109,21 +124,6 @@ pub fn start(self: *Server) !void {
109
124
thread .detach ();
110
125
}
111
126
}
112
- const r2 = try helper .readFile (self .allocator , "/etc/.z/env.json" );
113
- if (r2 ) | r1 | {
114
- defer self .allocator .free (r1 .b );
115
- const p = try std .json .parseFromSlice ([][]u8 , self .allocator , r1 .b [0.. r1 .n ], .{ .allocate = .alloc_always });
116
- defer p .deinit ();
117
- for (p .value ) | v | {
118
- var it = std .mem .splitScalar (u8 , v , '=' );
119
- const k0 = it .next ();
120
- const v0 = it .next ();
121
- if (k0 != null and v0 != null ) {
122
- // put will copy all the memory of parameters
123
- try self .envs .put (k0 .? , v0 .? );
124
- }
125
- }
126
- }
127
127
const addr = try std .net .Address .parseIp6 ("::1" , 2 );
128
128
var s = try addr .listen (.{});
129
129
defer s .deinit ();
0 commit comments