package jadwal_dokter import ( "bridging-rssa/docs" "bridging-rssa/models/bpjs/jadwal_dokter" "encoding/json" "fmt" "io" "log" "net/http" ) func JadwalDokterGetResponse(url string, secretKey string, cons_id string, User_keys string, tstamp string, X_signature string, kdPoly string, tanggal string, headers map[string]string) (*[]jadwal_dokter.ListDokter, error) { param := "/jadwaldokter/kodepoli/" + kdPoly + "/tanggal/" + tanggal url += param log.Println("URL", url) req, err := http.NewRequest("GET", url, nil) if err != nil { log.Fatalf("Error creating request: %v", err) } for key, value := range headers { req.Header.Set(key, value) } log.Println("REQ", req.Header) client := http.Client{} response, err := client.Do(req) if err != nil { log.Fatalf("Error making external API request: %v", err) } log.Println("RESPONSE: ", response) key := cons_id + secretKey + tstamp res, err := io.ReadAll(response.Body) if err != nil { fmt.Println(err) } var jadwalDokterRaw jadwal_dokter.JadwalDokterRaw err = json.Unmarshal([]byte(res), &jadwalDokterRaw) if err != nil { log.Fatalf("Error Unmarshaling: %v", err) } dataResp, err := docs.StringDecrypt(key, jadwalDokterRaw.Response) if err != nil { log.Fatalf("Error Decrypt: %v", err) log.Println("res: ", dataResp) } var listDokter []jadwal_dokter.ListDokter log.Println("dataresp: ", dataResp) // err = mapstructure.Decode(dataResp, &listDokter) err = json.Unmarshal([]byte(dataResp), &listDokter) if err != nil { log.Fatalf("Error Decode: %v", err) } log.Println("res: ", &listDokter) return &listDokter, nil }