forked from grassrootseconomics/visedriver
		
	Added Custom AtOutput to append CON or END to output
This commit is contained in:
		
							parent
							
								
									762f90adf6
								
							
						
					
					
						commit
						512460fdeb
					
				| @ -1,13 +1,15 @@ | ||||
| package handlers | ||||
| 
 | ||||
| import ( | ||||
| 	"git.defalsify.org/vise.git/engine" | ||||
| 	"git.defalsify.org/vise.git/resource" | ||||
| 	"git.defalsify.org/vise.git/persist" | ||||
| 	"git.defalsify.org/vise.git/db" | ||||
| 	"io" | ||||
| 
 | ||||
| 	"git.defalsify.org/vise.git/db" | ||||
| 	"git.defalsify.org/vise.git/engine" | ||||
| 	"git.defalsify.org/vise.git/persist" | ||||
| 	"git.defalsify.org/vise.git/resource" | ||||
| 
 | ||||
| 	"git.grassecon.net/urdt/ussd/internal/storage" | ||||
| 	"git.grassecon.net/urdt/ussd/internal/handlers/ussd" | ||||
| 	"git.grassecon.net/urdt/ussd/internal/storage" | ||||
| ) | ||||
| 
 | ||||
| type BaseSessionHandler struct { | ||||
| @ -88,6 +90,25 @@ func(f *BaseSessionHandler) Output(rqs RequestSession) (RequestSession,  error) | ||||
| 	return rqs, err | ||||
| } | ||||
| 
 | ||||
| func (f *BaseSessionHandler) AtOutput(rqs RequestSession) (RequestSession, error) { | ||||
| 	var err error | ||||
| 	var prefix string | ||||
| 
 | ||||
| 	if rqs.Continue { | ||||
| 		prefix = "CON " | ||||
| 	} else { | ||||
| 		prefix = "END " | ||||
| 	} | ||||
| 
 | ||||
| 	_, err = io.WriteString(rqs.Writer, prefix) | ||||
| 	if err != nil { | ||||
| 		return rqs, err | ||||
| 	} | ||||
| 
 | ||||
| 	_, err = rqs.Engine.WriteResult(rqs.Ctx, rqs.Writer) | ||||
| 	return rqs, err | ||||
| } | ||||
| 
 | ||||
| func(f *BaseSessionHandler) Reset(rqs RequestSession) (RequestSession, error) { | ||||
| 	defer f.provider.Put(rqs.Config.SessionId, rqs.Storage) | ||||
| 	return rqs, rqs.Engine.Finish() | ||||
|  | ||||
| @ -51,6 +51,7 @@ type RequestHandler interface { | ||||
| 	GetEngine(cfg engine.Config, rs resource.Resource, pe *persist.Persister) engine.Engine  | ||||
| 	Process(rs RequestSession) (RequestSession, error) | ||||
| 	Output(rs RequestSession) (RequestSession, error) | ||||
| 	AtOutput(rs RequestSession) (RequestSession, error) | ||||
| 	Reset(rs RequestSession) (RequestSession, error) | ||||
| 	Shutdown() | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user