Commit aa133e22 authored by Andrei Mihu's avatar Andrei Mihu
Browse files

Improve consistency of authoritative match creation parameter handling.

parent f3af2bbe
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr
### Changed
- Use the Facebook Graph API v11.0 version.
- Move Facebook email import timing after account creation.
- Improve consistency of authoritative match creation parameter handling.

### Fixed
- Fix log level in Lua runtime log calls which use logger fields.
+6 −1
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ var (
	MatchLabelMaxBytes = 2048

	ErrCannotEncodeParams    = errors.New("error creating match: cannot encode params")
	ErrCannotDecodeParams    = errors.New("error creating match: cannot decode params")
	ErrMatchIdInvalid        = errors.New("match id invalid")
	ErrMatchNotFound         = errors.New("match not found")
	ErrMatchStateFailed      = errors.New("match did not return state")
@@ -225,9 +226,13 @@ func (r *LocalMatchRegistry) processLabelUpdates(batch *bleve.Batch) {
}

func (r *LocalMatchRegistry) CreateMatch(ctx context.Context, logger *zap.Logger, createFn RuntimeMatchCreateFunction, module string, params map[string]interface{}) (string, error) {
	if err := gob.NewEncoder(&bytes.Buffer{}).Encode(params); err != nil {
	buf := &bytes.Buffer{}
	if err := gob.NewEncoder(buf).Encode(params); err != nil {
		return "", ErrCannotEncodeParams
	}
	if err := gob.NewDecoder(buf).Decode(&params); err != nil {
		return "", ErrCannotDecodeParams
	}

	id := uuid.Must(uuid.NewV4())
	matchLogger := logger.With(zap.String("mid", id.String()))