httpserver

package
v0.0.0-...-8d6396e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2024 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AcademicHistory

func AcademicHistory(c *fiber.Ctx, resp *http.Response) error

@Summary user academic history @Description get user academic history @tags academic @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[siaklib.SemesterScore] @Failure 401 {object} Response[any] @Router /academic/history [get]

func AcademicSummary

func AcademicSummary(c *fiber.Ctx, resp *http.Response) error

@Summary user academic summary @Description get user academic summary @tags academic @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[siaklib.StudentSummary] @Failure 401 {object} Response[any] @Router /academic/summary [get]

func BaseHandler

func BaseHandler(url string, next Handler) func(c *fiber.Ctx) error

func CourseClasses

func CourseClasses(c *fiber.Ctx, resp *http.Response) error

@Summary user course classes @Description get user course classes @tags academic @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[[]siaklib.Course] @Failure 401 {object} Response[any] @Router /academic/classes [get]

func CourseComponent

func CourseComponent(c *fiber.Ctx) error

@Summary course info @Description get course info by id @tags academic @Produce json @Param courseId path int true "course id" @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[[]siaklib.CourseComponent] @Failure 401 {object} Response[any] @Router /academic/course/{courseId} [get]

func Home

func Home(c *fiber.Ctx, resp *http.Response) error

@Summary home page @Description get home page @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[siaklib.Homepage] @Failure 401 {object} Response[any] @Router /home [get]

func Login

func Login(c *fiber.Ctx) error

@Summary login account @Description get login cookie for other requests @Accept json @Produce json @Param loginRequest body LoginRequest true "login request" @Success 200 {object} Response[CookieData] @Failure 401 {object} Response[any] @Router /login [post]

func MakeRequestor

func MakeRequestor(c *fiber.Ctx) (*http.Client, error)

func Me

func Me(c *fiber.Ctx, resp *http.Response) error

@Summary user account @Description get user account info @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 {object} Response[siaklib.UserInfo] @Failure 401 {object} Response[any] @Router /me [get]

func UserPhoto

func UserPhoto(c *fiber.Ctx, resp *http.Response) error

@Summary user photo @Description get user academic photo @tags academic @Produce json @Param X-Siakng-Cc header string true "siakng cookie" @Param X-Mojavi header string true "mojavi cookie" @Success 200 jpeg @Failure 401 {object} Response[any] @Router /academic/photo [get]

Types

type CookieData

type CookieData struct {
	SiakNGCC string `json:"siakng_cc" default:"2jNeTbVCFfkPIcnUkzwrVw" extensions:"x-order=01"`
	Mojavi   string `json:"mojavi" default:"UrdBjDansj/s95fYW58TfQ" extensions:"x-order=02"`
}

type Handler

type Handler func(c *fiber.Ctx, response *http.Response) error

type LoginRequest

type LoginRequest struct {
	Username string `json:"username" default:"username" extensions:"x-order=01"`
	Password string `json:"password" default:"password" extensions:"x-order=02"`
}

type Response

type Response[T any] struct {
	Status  int    `json:"status" default:"200" extensions:"x-order=01"`
	Message string `json:"message" default:"Success" extensions:"x-order=02"`
	Data    T      `json:"data" extensions:"x-order=03"`
}

type Server

type Server struct {
	Router *fiber.App
}

func MakeServer

func MakeServer() Server

func (*Server) Start

func (s *Server) Start() error

type SiakError

type SiakError struct {
	Status  int
	Message string
}

func (*SiakError) Error

func (e *SiakError) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL