A fork of attic a self-hostable Nix Binary Cache server
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #214 from girlbossceo/strawberry/send-nix-nar-content-type

authored by

Zhaofeng Li and committed by
GitHub
ff8a897d 47752427

+32 -7
+15 -5
.github/workflows/build.yml
··· 35 35 run: | 36 36 : "${ATTIC_SERVER:=https://staging.attic.rs/}" 37 37 : "${ATTIC_CACHE:=attic-ci}" 38 - echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 39 38 export PATH=$HOME/.nix-profile/bin:$PATH # FIXME 40 39 attic login --set-default ci "$ATTIC_SERVER" "$ATTIC_TOKEN" 41 40 attic use "$ATTIC_CACHE" 41 + if [ -n "$ATTIC_TOKEN" ]; then 42 + echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 43 + fi 42 44 env: 43 45 ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }} 44 46 ATTIC_CACHE: ${{ secrets.ATTIC_CACHE }} ··· 97 99 run: | 98 100 : "${ATTIC_SERVER:=https://staging.attic.rs/}" 99 101 : "${ATTIC_CACHE:=attic-ci}" 100 - echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 101 102 export PATH=$HOME/.nix-profile/bin:$PATH # FIXME 102 103 attic login --set-default ci "$ATTIC_SERVER" "$ATTIC_TOKEN" 103 104 attic use "$ATTIC_CACHE" 105 + if [ -n "$ATTIC_TOKEN" ]; then 106 + echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 107 + fi 104 108 env: 105 109 ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }} 106 110 ATTIC_CACHE: ${{ secrets.ATTIC_CACHE }} ··· 152 156 run: | 153 157 : "${ATTIC_SERVER:=https://staging.attic.rs/}" 154 158 : "${ATTIC_CACHE:=attic-ci}" 155 - echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 156 159 export PATH=$HOME/.nix-profile/bin:$PATH # FIXME 157 160 attic login --set-default ci "$ATTIC_SERVER" "$ATTIC_TOKEN" 158 161 attic use "$ATTIC_CACHE" 162 + if [ -n "$ATTIC_TOKEN" ]; then 163 + echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 164 + fi 159 165 env: 160 166 ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }} 161 167 ATTIC_CACHE: ${{ secrets.ATTIC_CACHE }} ··· 197 203 run: | 198 204 : "${ATTIC_SERVER:=https://staging.attic.rs/}" 199 205 : "${ATTIC_CACHE:=attic-ci}" 200 - echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 201 206 export PATH=$HOME/.nix-profile/bin:$PATH # FIXME 202 207 attic login --set-default ci "$ATTIC_SERVER" "$ATTIC_TOKEN" 203 208 attic use "$ATTIC_CACHE" 209 + if [ -n "$ATTIC_TOKEN" ]; then 210 + echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 211 + fi 204 212 env: 205 213 ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }} 206 214 ATTIC_CACHE: ${{ secrets.ATTIC_CACHE }} ··· 246 254 run: | 247 255 : "${ATTIC_SERVER:=https://staging.attic.rs/}" 248 256 : "${ATTIC_CACHE:=attic-ci}" 249 - echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 250 257 export PATH=$HOME/.nix-profile/bin:$PATH # FIXME 251 258 attic login --set-default ci "$ATTIC_SERVER" "$ATTIC_TOKEN" 252 259 attic use "$ATTIC_CACHE" 260 + if [ -n "$ATTIC_TOKEN" ]; then 261 + echo ATTIC_CACHE=$ATTIC_CACHE >>$GITHUB_ENV 262 + fi 253 263 env: 254 264 ATTIC_SERVER: ${{ secrets.ATTIC_SERVER }} 255 265 ATTIC_CACHE: ${{ secrets.ATTIC_CACHE }}
+17 -2
server/src/api/binary_cache.rs
··· 9 9 use std::path::PathBuf; 10 10 use std::sync::Arc; 11 11 12 + use axum::http; 12 13 use axum::{ 13 14 body::Body, 14 15 extract::{Extension, Path}, ··· 223 224 }); 224 225 let body = Body::from_stream(stream); 225 226 226 - Ok(body.into_response()) 227 + Ok(( 228 + [( 229 + http::header::CONTENT_TYPE, 230 + http::HeaderValue::from_static(mime::NAR), 231 + )], 232 + body, 233 + ) 234 + .into_response()) 227 235 } 228 236 } 229 237 } else { ··· 260 268 }); 261 269 let body = Body::from_stream(merged); 262 270 263 - Ok(body.into_response()) 271 + Ok(( 272 + [( 273 + http::header::CONTENT_TYPE, 274 + http::HeaderValue::from_static(mime::NAR), 275 + )], 276 + body, 277 + ) 278 + .into_response()) 264 279 } 265 280 } 266 281