Skip to content

Commit ef3ecd2

Browse files
committed
Improved URL construction
1 parent aac746b commit ef3ecd2

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/SwaggerProvider.DesignTime/OperationCompiler.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ type OperationCompiler (schema:SwaggerObject, defCompiler:DefinitionCompiler) =
5050

5151
let basePath =
5252
let basePath = schema.BasePath
53-
<@ (%%host : string) + basePath @>
53+
<@ SwaggerProvider.Internal.RuntimeHelpers.combineUrl (%%host : string) basePath @>
5454

5555
// Fit headers into quotation
5656
let headers =
@@ -138,7 +138,7 @@ type OperationCompiler (schema:SwaggerObject, defCompiler:DefinitionCompiler) =
138138
(<@@ mPath @@>, None, <@@ ([] : (string*string) list) @@>, headers)
139139

140140

141-
let address = <@@ %basePath + (%%path :string ) @@>
141+
let address = <@@ SwaggerProvider.Internal.RuntimeHelpers.combineUrl %basePath (%%path :string ) @@>
142142
let restCall = op.Type.ToString()
143143

144144
let customizeHttpRequest =

src/SwaggerProvider.Runtime/RuntimeHelpers.fs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,7 @@ module RuntimeHelpers =
108108
settings.Converters.Add(new OptionConverter () :> JsonConverter)
109109
settings.Converters.Add(new ByteArrayConverter () :> JsonConverter)
110110
fun value (retTy:Type) ->
111-
JsonConvert.DeserializeObject(value, retTy, settings)
111+
JsonConvert.DeserializeObject(value, retTy, settings)
112+
113+
let combineUrl (urlA:string) (urlB:string) =
114+
sprintf "%s/%s" (urlA.TrimEnd('/')) (urlB.TrimStart('/'))

0 commit comments

Comments
 (0)