MCPcopy
hub / github.com/vulcand/vulcand / BackendFromJSON

Function BackendFromJSON

engine/json.go:220–250  ·  view source on GitHub ↗
(in []byte, id ...string)

Source from the content-addressed store, hash-verified

218}
219
220func BackendFromJSON(in []byte, id ...string) (*Backend, error) {
221 var rb *rawBackend
222
223 if err := json.Unmarshal(in, &rb); err != nil {
224 return nil, err
225 }
226 if rb.Type != HTTP {
227 return nil, fmt.Errorf("Unsupported backend type %v", rb.Type)
228 }
229
230 var s HTTPBackendSettings
231 if rb.Settings != nil {
232 if err := json.Unmarshal(rb.Settings, &s); err != nil {
233 return nil, err
234 }
235 }
236 if s.TLS != nil {
237 if _, err := NewTLSConfig(s.TLS); err != nil {
238 return nil, err
239 }
240 }
241 if len(id) != 0 {
242 rb.Id = id[0]
243 }
244 b, err := NewHTTPBackend(rb.Id, s)
245 if err != nil {
246 return nil, err
247 }
248 b.Stats = rb.Stats
249 return b, nil
250}
251
252func ServersFromJSON(in []byte) ([]Server, error) {
253 var rs *rawServers

Callers 8

parseBackendsMethod · 0.92
GetBackendMethod · 0.92
parseBackendsMethod · 0.92
GetBackendMethod · 0.92
parseBackendPackFunction · 0.92
GetBackendMethod · 0.92
TestBackendFromJSONMethod · 0.85
BackendsFromJSONFunction · 0.85

Calls 2

NewHTTPBackendFunction · 0.85
NewTLSConfigFunction · 0.70

Tested by 1

TestBackendFromJSONMethod · 0.68