You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: scramAuth.go
    path of file: ./repos/keploy/pkg/proxy/integrations/mongoparser
    
    the code of the file until where you have to start completion: package mongoparser

import (
	"encoding/base64"
	"encoding/json"
	"errors"
	"fmt"
	"strconv"
	"strings"

	"go.keploy.io/server/pkg/proxy/integrations/scram"
	"go.keploy.io/server/pkg/proxy/util"
	"go.uber.org/zap"
)

func isScramAuthRequest(actualRequestSections []string, logger *zap.Logger) bool {
	// Iterate over each section in the actual request sections
	for _, v := range actualRequestSections {
		// Extract the 
    
func isScramAuthRequest(actualRequestSections []string, logger *zap.Logger) bool {
	// Iterate over each section in the actual request sections
	for _, v := range actualRequestSections {
		// Extract the message from the section
		actualMsg, err := extractMsgFromSection(v)
		if err != nil {
			logger.Error("failed to extract the section of the recieved mongo request message", zap.Error(err), zap.Any("the section", v))
			return false
		}

		conversationId, _ := extractConversationId(actualMsg)
		// Check if the message is for starting the SASL (authentication) process
		if _, exists := actualMsg["saslStart"]; exists {
			logger.Debug("the recieved request is saslStart",
				zap.Any("OpMsg", actualMsg),
				zap.Any("conversationId", conversationId))
			return true
			// Check if the message is for final request of the SASL (authentication) process
		} else if _, exists := actualMsg["saslContinue"]; exists {
			logger.Debug("the recieved request is saslContinue",
				zap.Any("OpMsg", actualMsg),
				zap.Any("conversationId", conversationId),
			)
			return true
		}

	}
	return false
}