Example #1
0
File: pttweb.go Project: ptt/pttweb
func handleAidc(c *Context, w http.ResponseWriter) error {
	vars := mux.Vars(c.R)
	brdname := vars["brdname"]
	aid, err := pttbbs.ParseAid(vars["aidc"])
	if err != nil {
		return NewNotFoundError(fmt.Errorf("board %v, invalid aid: %v", brdname, err))
	}
	return handleArticleCommon(c, w, brdname, aid.Filename())
}
Example #2
0
func aidAndBrdnameToArticle(brdname, aidString string) (string, error) {
	aid, err := pttbbs.ParseAid(aidString)
	if err != nil {
		return "", nil // Silently fail
	}

	u, err := router.Get("bbsarticle").URLPath("brdname", brdname, "filename", aid.Filename())
	if err != nil {
		return "", err
	}
	return u.String(), nil
}