Skip to content

Commit 1600b16

Browse files
committed
[release] release version v1.0.4
2 parents 22360a6 + bfa83f5 commit 1600b16

File tree

3 files changed

+66
-10
lines changed

3 files changed

+66
-10
lines changed

vngcloud/errors/error_test.go

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package errors
2+
3+
import (
4+
"fmt"
5+
"regexp"
6+
"testing"
7+
)
8+
9+
func TestSubnetNotFound(t *testing.T) {
10+
input := "subnet with id sub-f98ee-aec0-4662-a105-4d72b8c78b0a is not found"
11+
pattern := `subnet with id [^.]+ is not found`
12+
13+
// Compile the regex pattern
14+
re := regexp.MustCompile(pattern)
15+
16+
// Find the matching substring
17+
match := re.FindString(input)
18+
19+
if match != "" {
20+
fmt.Printf("Match found: %s\n", match)
21+
} else {
22+
fmt.Println("No match found")
23+
}
24+
}

vngcloud/errors/subnet.go

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package errors
2+
3+
import (
4+
lregexp "regexp"
5+
lstr "strings"
6+
7+
lssdkErr "github.com/vngcloud/vngcloud-go-sdk/error"
8+
)
9+
10+
const (
11+
patternSubnetNotFound = `subnet with id [^.]+ is not found`
12+
)
13+
14+
var (
15+
ErrCodeSubnetNotFound lssdkErr.ErrorCode = "ErrorSubnetNotFound"
16+
)
17+
18+
var (
19+
regexErrorSubnetNotFound = lregexp.MustCompile(patternSubnetNotFound)
20+
)
21+
22+
func WithErrorSubnetNotFound(perrResp *lssdkErr.ErrorResponse, perr error) func(*lssdkErr.SdkError) {
23+
return func(sdkError *lssdkErr.SdkError) {
24+
if perrResp == nil {
25+
return
26+
}
27+
28+
errMsg := lstr.ToLower(lstr.TrimSpace(perrResp.Message))
29+
if regexErrorSubnetNotFound.FindString(errMsg) != "" {
30+
sdkError.Code = ErrCodeSubnetNotFound
31+
sdkError.Message = errMsg
32+
sdkError.Error = perr
33+
}
34+
}
35+
}

vngcloud/services/compute/v2/server/server.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,18 @@ func Delete(sc *client.ServiceClient, opts IDeleteOptsBuilder) *lsdkError.SdkErr
7070
return nil
7171
}
7272

73-
func Create(sc *client.ServiceClient, opts ICreateOptsBuilder) (*objects.Server, *lsdkError.SdkError) {
73+
func Create(psc *client.ServiceClient, popts ICreateOptsBuilder) (*objects.Server, *lsdkError.SdkError) {
7474
response := NewCreateResponse()
7575
errResp := lsdkError.NewErrorResponse()
76-
_, err := sc.Post(createServerURL(sc, opts), &client.RequestOpts{
77-
JSONBody: opts.ToRequestBody(),
76+
if _, err := psc.Post(createServerURL(psc, popts), &client.RequestOpts{
77+
JSONBody: popts.ToRequestBody(),
7878
JSONResponse: response,
7979
JSONError: errResp,
8080
OkCodes: []int{202},
81-
})
82-
83-
if err != nil {
84-
sdkErr := lserr.ErrorHandler(err,
85-
lserr.WithErrorOutOfPoc(errResp, err))
86-
87-
return nil, sdkErr
81+
}); err != nil {
82+
return nil, lserr.ErrorHandler(err,
83+
lserr.WithErrorOutOfPoc(errResp, err),
84+
lserr.WithErrorSubnetNotFound(errResp, err))
8885
}
8986

9087
return response.ToServerObject(), nil

0 commit comments

Comments
 (0)