add some migration-to-classic recipes (#32)
diff --git a/src/site/markdown/httpcomponents-client-5.5.x/migration-guide/migration-to-classic.md b/src/site/markdown/httpcomponents-client-5.5.x/migration-guide/migration-to-classic.md
index 7b6052c..a8780a3 100644
--- a/src/site/markdown/httpcomponents-client-5.5.x/migration-guide/migration-to-classic.md
+++ b/src/site/markdown/httpcomponents-client-5.5.x/migration-guide/migration-to-classic.md
@@ -149,3 +149,29 @@
public `normalizeSyntax` method, but it strives for more thorough support of RFC 3986,
specifically percent-encoding all components.
Since 5.3, `normalizeSyntax` has been deprecated and renamed to `optimize` to emphasize the difference in behaviour.
+
+## Migration recipes
+
+The following table provides some migration recipes from HttpClient 4.x to HttpClient 5.x classic APIs.
+
+**Note:** the list of recipes is by no means complete and users are encouraged to contribute other recipes based on their experience.
+
+| HttpClient 4.x | HttpClient 5.x |
+|-------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `BasicHttpContext` | `HttpCoreContext`/ `HttpClientContext` |
+| `HttpClientConnectionManager.closeExpiredConnections()` | `ConnPoolControl.closeExpired()` |
+| `HttpClientConnectionManager.closeIdleConnections()` | `ConnPoolControl.closeIdle()` |
+| `HttpClients.custom().addInterceptorLast(<some logging interceptor>)` | `HttpClients.custom().addExecInterceptorFirst("...", <some logging interceptor>)`<br/>(otherwise, compressed payload may be logged) |
+| `HttpClients.custom().setDefaultSocketConfig(...)` | `PoolingHttpClientConnectionManagerBuilder.create().setDefaultSocketConfig(...)`/ `BasicHttpClientConnectionManager.setSocketConfig(...)`<br/>`HttpClients.custom().setConnectionManager(...)` |
+| `HttpClients.custom().setRetryHandler()` | `HttpClients.custom().setRetryStrategy()` |
+| `HttpContext.getAttribute(HttpCoreContext.HTTP_TARGET_HOST)` | `HttpClientContext.getHttpRoute().getTargetHost()` |
+| `((ManagedHttpClientConnection) HttpContext.getAttribute(HttpCoreContext.HTTP_CONNECTION)).getSSLSession()` | `HttpCoreContext.getSSLSession()` |
+| `HttpEntityEnclosingRequest` | `HttpEntityContainer` |
+| `HttpMessage.getAllHeaders()` | `MessageHeaders.getHeaders()` |
+| `HttpRequest.getRequestLine()` | `new RequestLine(request)` |
+| `HttpRequestBase` | `HttpUriRequestBase` |
+| `HttpResponse.getEntity()` | `ClassicHttpResponse.getEntity()` |
+| `HttpResponse.getStatusLine()` | `new StatusLine(response)` |
+| `HttpResponse.getStatusLine().getStatusCode()` | `HttpResponse.getCode()` |
+| `RequestConfig.custom().setConnectTimeout()`<br/>`HttpClients.custom().setDefaultRequestConfig(...)` | `ConnectionConfig.custom().setConnectTimeout()`<br/>`PoolingHttpClientConnectionManager.setDefaultConnectionConfig(...)` / `BasicHttpClientConnectionManager.setConnectionConfig(...)`<br/>`HttpClients.custom().setConnectionManager(...)` |
+| `RequestConfig.custom().setSocketTimeout()`<br/>`HttpClients.custom().setDefaultRequestConfig(...)` | `ConnectionConfig.custom().setSocketTimeout()`<br/>`PoolingHttpClientConnectionManager.setDefaultConnectionConfig(...)` / `BasicHttpClientConnectionManager.setConnectionConfig(...)`<br/>`HttpClients.custom().setConnectionManager(...)` |