MCPcopy
hub / github.com/projectdiscovery/proxify / NewSchema

Function NewSchema

pkg/swaggergen/schema.go:15–39  ·  view source on GitHub ↗
(reader io.Reader)

Source from the content-addressed store, hash-verified

13}
14
15func NewSchema(reader io.Reader) *Schema {
16 body, err := io.ReadAll(reader)
17 if err != nil {
18 return nil
19 }
20 var data interface{}
21 if err := json.Unmarshal(body, &data); err != nil {
22 return nil
23 }
24
25 dataType := InterfaceToType(data)
26 // generate shema from data map
27 schema := &Schema{
28 Type: dataType,
29 }
30 if dataType == "object" {
31 schema.Properties = make(map[string]*Schema)
32 for key, value := range data.(map[string]interface{}) {
33 schema.Properties[key] = &Schema{
34 Type: InterfaceToType(value),
35 }
36 }
37 }
38 return schema
39}
40
41func InterfaceToType(data interface{}) string {
42 switch data.(type) {

Callers 3

NewParametersFunction · 0.85
NewContentFunction · 0.85
UpdateContentMethod · 0.85

Calls 1

InterfaceToTypeFunction · 0.85

Tested by

no test coverage detected