MCPcopy
hub / github.com/AlistGo/alist / Link

Method Link

drivers/alist_v3/driver.go:111–133  ·  view source on GitHub ↗
(ctx context.Context, file model.Obj, args model.LinkArgs)

Source from the content-addressed store, hash-verified

109}
110
111func (d *AListV3) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) {
112 var resp common.Resp[FsGetResp]
113 // if PassUAToUpsteam is true, then pass the user-agent to the upstream
114 userAgent := base.UserAgent
115 if d.PassUAToUpsteam {
116 userAgent = args.Header.Get("user-agent")
117 if userAgent == "" {
118 userAgent = base.UserAgent
119 }
120 }
121 _, _, err := d.request("/fs/get", http.MethodPost, func(req *resty.Request) {
122 req.SetResult(&resp).SetBody(FsGetReq{
123 Path: file.GetPath(),
124 Password: d.MetaPassword,
125 }).SetHeader("user-agent", userAgent)
126 })
127 if err != nil {
128 return nil, err
129 }
130 return &model.Link{
131 URL: resp.Data.RawURL,
132 }, nil
133}
134
135func (d *AListV3) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
136 _, _, err := d.request("/fs/mkdir", http.MethodPost, func(req *resty.Request) {

Callers

nothing calls this directly

Calls 4

requestMethod · 0.95
SetHeaderMethod · 0.80
GetMethod · 0.65
GetPathMethod · 0.65

Tested by

no test coverage detected