package readers import ( "StoreBackEnd/pkg/protocol" "bufio" ) // EraseFileRulePrefix Identifiant de cette règle const EraseFileRulePrefix = "ERASEFILE" // EraseFileRule Demande de suppression d'un fichier type EraseFileRule struct { // Cmd Nom de la règle Cmd string // matcher Permet de vérifier le matching matcher *protocol.RegexMatcher } // CreateEraseFileRule Création d'une instance de EraseFileRule func CreateEraseFileRule(pattern string) protocol.IProtocolReader { return &EraseFileRule{ Cmd: EraseFileRulePrefix, matcher: protocol.CreateRegexMatcher(pattern), } } func (rule EraseFileRule) GetCmd() string { return rule.Cmd } func (rule EraseFileRule) Execute(data string) (string, bool, func(r *bufio.Reader) (string, bool)) { if rule.Match(data) { values := rule.matcher.Parse(data) println(values[1], " est le hash du fichier à supprimer") return "Parsing : Fichier avec le hash " + values[1] + " supprimé", true, nil } else { return "Parsing : EraseFileRule command incorrecte", false, nil } } func (rule EraseFileRule) Match(data string) bool { return rule.matcher.Match(data) }