mirror of
https://codeberg.org/git-pages/git-pages.git
synced 2026-05-19 21:51:36 +00:00
Add DELETE method support.
This commit is contained in:
@@ -218,7 +218,12 @@ func (fs *FSBackend) CommitManifest(name string, manifest *Manifest) error {
|
||||
}
|
||||
|
||||
func (fs *FSBackend) DeleteManifest(name string) error {
|
||||
return fs.siteRoot.Remove(name)
|
||||
err := fs.siteRoot.Remove(name)
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
return nil
|
||||
} else {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
func (fs *FSBackend) CheckDomain(domain string) (bool, error) {
|
||||
|
||||
27
src/pages.go
27
src/pages.go
@@ -218,6 +218,31 @@ func putPage(w http.ResponseWriter, r *http.Request) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func deletePage(w http.ResponseWriter, r *http.Request) error {
|
||||
_, err := AuthorizeRequest(r)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
host := GetHost(r)
|
||||
|
||||
projectName, err := GetProjectName(r)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = backend.DeleteManifest(makeWebRoot(host, projectName))
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
} else {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
}
|
||||
if err != nil {
|
||||
fmt.Fprintln(w, err)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func postPage(w http.ResponseWriter, r *http.Request) error {
|
||||
auth, err := AuthorizeRequest(r)
|
||||
if err != nil {
|
||||
@@ -320,6 +345,8 @@ func ServePages(w http.ResponseWriter, r *http.Request) {
|
||||
err = getPage(w, r)
|
||||
case http.MethodPut:
|
||||
err = putPage(w, r)
|
||||
case http.MethodDelete:
|
||||
err = deletePage(w, r)
|
||||
// webhook API
|
||||
case http.MethodPost:
|
||||
err = postPage(w, r)
|
||||
|
||||
Reference in New Issue
Block a user