@@ -16,7 +16,7 @@ namespace Microsoft.OpenApi.Models
1616 /// Header Object.
1717 /// The Header Object follows the structure of the Parameter Object.
1818 /// </summary>
19- public class OpenApiHeader : IOpenApiReferenceable , IOpenApiExtensible , IEffective < OpenApiHeader >
19+ public class OpenApiHeader : IOpenApiReferenceable , IOpenApiExtensible
2020 {
2121 private JsonSchema _schema ;
2222
@@ -145,40 +145,9 @@ private void SerializeInternal(IOpenApiWriter writer, Action<IOpenApiWriter, IOp
145145 Utils . CheckArgumentNull ( writer ) ; ;
146146
147147 var target = this ;
148-
149- if ( Reference != null )
150- {
151- if ( ! writer . GetSettings ( ) . ShouldInlineReference ( Reference ) )
152- {
153- callback ( writer , Reference ) ;
154- return ;
155- }
156- else
157- {
158- target = GetEffective ( Reference . HostDocument ) ;
159- }
160- }
161-
162148 action ( writer , target ) ;
163149 }
164150
165- /// <summary>
166- /// Returns an effective OpenApiHeader object based on the presence of a $ref
167- /// </summary>
168- /// <param name="doc">The host OpenApiDocument that contains the reference.</param>
169- /// <returns>OpenApiHeader</returns>
170- public OpenApiHeader GetEffective ( OpenApiDocument doc )
171- {
172- if ( Reference != null )
173- {
174- return doc . ResolveReferenceTo < OpenApiHeader > ( Reference ) ;
175- }
176- else
177- {
178- return this ;
179- }
180- }
181-
182151 /// <summary>
183152 /// Serialize to OpenAPI V31 document without using reference.
184153 /// </summary>
@@ -244,24 +213,11 @@ internal virtual void SerializeInternalWithoutReference(IOpenApiWriter writer, O
244213 /// <summary>
245214 /// Serialize <see cref="OpenApiHeader"/> to Open Api v2.0
246215 /// </summary>
247- public void SerializeAsV2 ( IOpenApiWriter writer )
216+ public virtual void SerializeAsV2 ( IOpenApiWriter writer )
248217 {
249- Utils . CheckArgumentNull ( writer ) ; ;
218+ Utils . CheckArgumentNull ( writer ) ;
250219
251220 var target = this ;
252-
253- if ( Reference != null )
254- {
255- if ( ! writer . GetSettings ( ) . ShouldInlineReference ( Reference ) )
256- {
257- Reference . SerializeAsV2 ( writer ) ;
258- return ;
259- }
260- else
261- {
262- target = GetEffective ( Reference . HostDocument ) ;
263- }
264- }
265221 target . SerializeAsV2WithoutReference ( writer ) ;
266222 }
267223
0 commit comments