package main import ( "encoding/json" "fmt" "io" "net/http" "net/url" "strings" ) /* func get_courses(token string, link string, client http.Client) []CanvasCourse { resp, err := client.Get(link) if err != nil { fmt.Println("Error performing GET request to get courses.") } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { fmt.Println("Error trying to read html body for courses.") } var canvas_courses []CanvasCourse err2 := json.Unmarshal(body, &canvas_courses) if err2 != nil { fmt.Println(err2) return nil } return canvas_courses } // Need to change this to grab both ID and name, return as pairs. func get_course_id_name_pair(canvas_courses []CanvasCourse) []uint64 { var courses []uint64 for _, course := range canvas_courses { courses = append(courses, course.ID%10000) } return courses } func select_course() int { // course selection by user happens below //favorites := fmt.Sprintf("%s/users/self/favorites/courses?access_token=%s&per_page=100", base_link, token) //all_courses := fmt.Sprintf("%s/courses?access_token=%s&per_page=100", base_link,token) // var canvas_courses []CanvasCourse //canvas_courses = get_courses(token, favorites, client) //var course_ids []uint64 //course_ids = get_course_ids(canvas_courses) //selected := 1 // course_ids[selected] // course selection by user happens above return 0 } */ func get_aplus(token string, link string, client http.Client) string { resp, err := client.Get(link) if err != nil { fmt.Println("Error performing GET request to initial link.") } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { fmt.Println("Error reading body of initial aplus html response " + "which is supposed to contain a one-time link for getting the form.") } var aplus Aplus json.Unmarshal(body, &aplus) return aplus.URL } func get_form_from_request_body(req_body []byte) string { body_str := string(req_body) form_start := strings.Index(body_str, "